jdk-24/test/langtools/tools/javac/DefiniteAssignment/DefAssignAfterTry2.java

36 lines
919 B
Java
Raw Normal View History

2007-12-01 00:00:00 +00:00
/*
* @test /nodynamiccopyright/
2007-12-01 00:00:00 +00:00
* @bug 4240487
* @summary Verify that we keep track of init/uninits in Try statement
* without finalizer.
*
* @compile/fail/ref=DefAssignAfterTry2.out -XDrawDiagnostics DefAssignAfterTry2.java
2007-12-01 00:00:00 +00:00
*/
class E1 extends Exception {}
class E2 extends Exception {}
public class DefAssignAfterTry2 {
public static void meth() {
2007-12-01 00:00:00 +00:00
boolean t = true;
E1 se1 = new E1();
E2 se2 = new E2();
int i;
try {
if (t) {
i = 0;
throw se1;
} else {
throw se2;
}
} catch (E1 e) {
} catch (E2 e) {
i = 0;
}
// the following line should result in a compile-time error
// variable i may not have been initialized
System.out.println(i);
System.out.println("Error : there should be compile-time errors");
}
}