OLD | NEW |
1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // Dart test program for testing execution of finally blocks after an exception | 4 // Dart test program for testing execution of finally blocks after an exception |
5 // is thrown from inside a local function capturing a variable. | 5 // is thrown from inside a local function capturing a variable. |
6 | 6 |
7 | 7 |
8 class MyException { | 8 class MyException { |
9 const MyException(String message) : message_ = message; | 9 const MyException(String message) : message_ = message; |
10 final String message_; | 10 final String message_; |
11 } | 11 } |
12 | 12 |
13 class Helper { | 13 class Helper { |
14 static int f1(int k) { | 14 static int f1(int k) { |
15 var b; | 15 var b; |
16 try { | 16 try { |
17 var a = new List.fixedLength(10); | 17 var a = new List(10); |
18 int i = 0; | 18 int i = 0; |
19 while (i < 10) { | 19 while (i < 10) { |
20 int j = i; | 20 int j = i; |
21 a[i] = () { | 21 a[i] = () { |
22 if (j == 5) { | 22 if (j == 5) { |
23 throw new MyException("Test for exception being thrown"); | 23 throw new MyException("Test for exception being thrown"); |
24 } | 24 } |
25 k += 10; | 25 k += 10; |
26 return j; | 26 return j; |
27 }; | 27 }; |
(...skipping 19 matching lines...) Expand all Loading... |
47 | 47 |
48 class ExecuteFinally7Test { | 48 class ExecuteFinally7Test { |
49 static testMain() { | 49 static testMain() { |
50 Expect.equals(1171, Helper.f1(1)); | 50 Expect.equals(1171, Helper.f1(1)); |
51 } | 51 } |
52 } | 52 } |
53 | 53 |
54 main() { | 54 main() { |
55 ExecuteFinally7Test.testMain(); | 55 ExecuteFinally7Test.testMain(); |
56 } | 56 } |
OLD | NEW |