Neg02.java revision 734
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis/*
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * @test /nodynamiccopyright/
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * @bug 6943289
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * @summary Project Coin: Improved Exception Handling for Java (aka 'multicatch')
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * @author mcimadamore
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis * @compile/fail/ref=Neg02.out -XDrawDiagnostics Neg02.java
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis *
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis */
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtisclass Neg02 {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis static class A extends Exception {}
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis static class B extends Exception {}
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis void m() {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis try {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis if (true) {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis throw new A();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis else {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis throw new B();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis } catch (final A | B ex) {
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis ex = new B();
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis }
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis}
25c28e83beb90e7c80452a7c818c5e6f73a07dc8Piotr Jasiukajtis