test/tools/javac/multicatch/Neg03.java

changeset 735
f2048d9c666e
parent 550
a6f2911a7c55
child 2525
2eb010b6cb22
     1.1 --- a/test/tools/javac/multicatch/Neg03.java	Tue Nov 02 12:01:35 2010 +0000
     1.2 +++ b/test/tools/javac/multicatch/Neg03.java	Thu Nov 04 12:57:48 2010 +0000
     1.3 @@ -9,19 +9,22 @@
     1.4   */
     1.5  
     1.6  class Neg03 {
     1.7 -    static class A extends Exception {}
     1.8 -    static class B extends Exception {}
     1.9  
    1.10 -    void m() {
    1.11 +    static class A extends Exception { public void m() {}; public Object f;}
    1.12 +    static class B1 extends A {}
    1.13 +    static class B2 extends A {}
    1.14 +
    1.15 +    void m() throws B1, B2 {
    1.16          try {
    1.17              if (true) {
    1.18 -                throw new A();
    1.19 +                throw new B1();
    1.20              }
    1.21              else {
    1.22 -                throw new B();
    1.23 +                throw new B2();
    1.24              }
    1.25 -        } catch (final A | B ex) {
    1.26 -            ex = new B();
    1.27 +        } catch (Exception ex) {
    1.28 +            ex = new B2(); //effectively final analysis disabled!
    1.29 +            throw ex;
    1.30          }
    1.31      }
    1.32  }

mercurial