Wed, 27 Apr 2011 17:03:24 -0700
7039822: Project Coin: add explicit tests for the lub of an exception parameter
Reviewed-by: mcimadamore, jjg
aoqi@0 | 1 | /* |
aoqi@0 | 2 | * @test /nodynamiccopyright/ |
aoqi@0 | 3 | * @bug 6943289 |
aoqi@0 | 4 | * |
aoqi@0 | 5 | * @summary Project Coin: Improved Exception Handling for Java (aka 'multicatch') |
aoqi@0 | 6 | * @author darcy |
aoqi@0 | 7 | * @compile/fail/ref=Neg01eff_final.out -XDrawDiagnostics Neg01eff_final.java |
aoqi@0 | 8 | * @compile -source 6 -XDrawDiagnostics Neg01eff_final.java |
aoqi@0 | 9 | * |
aoqi@0 | 10 | */ |
aoqi@0 | 11 | |
aoqi@0 | 12 | class Neg01eff_final { |
aoqi@0 | 13 | static class A extends Exception {} |
aoqi@0 | 14 | static class B1 extends A {} |
aoqi@0 | 15 | static class B2 extends A {} |
aoqi@0 | 16 | |
aoqi@0 | 17 | class Test { |
aoqi@0 | 18 | void m() throws A { |
aoqi@0 | 19 | try { |
aoqi@0 | 20 | throw new B1(); |
aoqi@0 | 21 | } catch (A ex1) { |
aoqi@0 | 22 | try { |
aoqi@0 | 23 | throw ex1; // used to throw A, now throws B1! |
aoqi@0 | 24 | } catch (B2 ex2) { }//unreachable |
aoqi@0 | 25 | } |
aoqi@0 | 26 | } |
aoqi@0 | 27 | } |
aoqi@0 | 28 | } |