test/tools/javac/TryWithResources/TwrFlow.java

changeset 840
7f8794f9cc14
parent 609
13354e1abba7
child 2525
2eb010b6cb22
equal deleted inserted replaced
839:a8437c34fdc7 840:7f8794f9cc14
1 /* 1 /*
2 * @test /nodynamiccopyright/ 2 * @test /nodynamiccopyright/
3 * @bug 6911256 6964740 3 * @bug 6911256 6964740 7013420
4 * @author Joseph D. Darcy 4 * @author Joseph D. Darcy
5 * @summary Test exception analysis of ARM blocks 5 * @summary Test exception analysis of try-with-resources blocks
6 * @compile/fail/ref=TwrFlow.out -XDrawDiagnostics TwrFlow.java 6 * @compile/fail/ref=TwrFlow.out -XDrawDiagnostics TwrFlow.java
7 */ 7 */
8 8
9 import java.io.IOException; 9 import java.io.IOException;
10 public class TwrFlow implements AutoCloseable { 10 public class TwrFlow implements AutoCloseable {
11 public static void main(String... args) { 11 public static void main(String... args) {
12 try(TwrFlow armflow = new TwrFlow()) { 12 try(TwrFlow twrFlow = new TwrFlow()) {
13 System.out.println(armflow.toString()); 13 System.out.println(twrFlow.toString());
14 } catch (IOException ioe) { // Not reachable
15 throw new AssertionError("Shouldn't reach here", ioe);
16 }
17 // CustomCloseException should be caught or added to throws clause
18
19 // Also check behavior on a resource expression rather than a
20 // declaration.
21 TwrFlow armflowexpr = new TwrFlow();
22 try(armflowexpr) {
23 System.out.println(armflowexpr.toString());
24 } catch (IOException ioe) { // Not reachable 14 } catch (IOException ioe) { // Not reachable
25 throw new AssertionError("Shouldn't reach here", ioe); 15 throw new AssertionError("Shouldn't reach here", ioe);
26 } 16 }
27 // CustomCloseException should be caught or added to throws clause 17 // CustomCloseException should be caught or added to throws clause
28 } 18 }

mercurial