langtools/test/tools/javac/ExceptionalFinally2.java
author jlahoda
Tue, 16 Aug 2016 16:43:00 +0200
changeset 40504 0a01f6710c84
parent 26528 a1a7ad15183e
permissions -rw-r--r--
8078561: Error message should be generated once when -source 6 is specified Summary: Code to avoid duplicated errors about features not supported in the current source level moved to Log Reviewed-by: jjg
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     1
/*
26528
a1a7ad15183e 8055075: Group 9b: golden files for tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     2
 * @test /nodynamiccopyright/
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     3
 * @bug 4630634
06bc494ca11e Initial load
duke
parents:
diff changeset
     4
 * @summary missing warn about exception not thrown in try block if finally can't complete
06bc494ca11e Initial load
duke
parents:
diff changeset
     5
 * @author gafter
06bc494ca11e Initial load
duke
parents:
diff changeset
     6
 *
26528
a1a7ad15183e 8055075: Group 9b: golden files for tests in tools/javac dir
sogoel
parents: 5520
diff changeset
     7
 * @compile/fail/ref=ExceptionalFinally2.out -XDrawDiagnostics ExceptionalFinally2.java
10
06bc494ca11e Initial load
duke
parents:
diff changeset
     8
 */
06bc494ca11e Initial load
duke
parents:
diff changeset
     9
06bc494ca11e Initial load
duke
parents:
diff changeset
    10
class ExceptionalFinally2 {
06bc494ca11e Initial load
duke
parents:
diff changeset
    11
    static class E extends Exception {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    12
06bc494ca11e Initial load
duke
parents:
diff changeset
    13
    public void t() throws E {}
06bc494ca11e Initial load
duke
parents:
diff changeset
    14
06bc494ca11e Initial load
duke
parents:
diff changeset
    15
    void f() {
06bc494ca11e Initial load
duke
parents:
diff changeset
    16
        try {
06bc494ca11e Initial load
duke
parents:
diff changeset
    17
            try {
06bc494ca11e Initial load
duke
parents:
diff changeset
    18
                t();
06bc494ca11e Initial load
duke
parents:
diff changeset
    19
            } finally {
06bc494ca11e Initial load
duke
parents:
diff changeset
    20
                return;
06bc494ca11e Initial load
duke
parents:
diff changeset
    21
            }
06bc494ca11e Initial load
duke
parents:
diff changeset
    22
        } catch (E x) { // error: E can't be thrown in try block
06bc494ca11e Initial load
duke
parents:
diff changeset
    23
        }
06bc494ca11e Initial load
duke
parents:
diff changeset
    24
    }
06bc494ca11e Initial load
duke
parents:
diff changeset
    25
}