Thu, 03 Feb 2011 09:36:28 +0000
5017953: spurious cascaded diagnostics when name not found
Summary: when an operator is applied to one or more erroneous operands, spurious diagnostics are generated
Reviewed-by: jjg
1 /*
2 * @test /nodynamiccopyright/
3 * @bug 6943289
4 *
5 * @summary Project Coin: Improved Exception Handling for Java (aka 'multicatch')
6 * @author mcimadamore
7 * @compile/fail/ref=Neg04.out -XDrawDiagnostics Neg04.java
8 *
9 */
11 class Neg04 {
12 static class A extends Exception {}
13 static class B extends Exception {}
15 void test() throws B {
16 try {
17 if (true) {
18 throw new A();
19 } else if (false) {
20 throw new B();
21 } else {
22 throw (Throwable)new Exception();
23 }
24 }
25 catch (A e) {}
26 catch (final Exception e) {
27 throw e;
28 }
29 catch (Throwable t) {}
30 }
31 }