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_; |
(...skipping 15 matching lines...) Expand all Loading... |
26 return j; | 26 return j; |
27 }; | 27 }; |
28 if (i == 0) { | 28 if (i == 0) { |
29 b = a[i]; | 29 b = a[i]; |
30 } | 30 } |
31 i++; | 31 i++; |
32 } | 32 } |
33 for(int i = 0; i < 10; i++) { | 33 for(int i = 0; i < 10; i++) { |
34 a[i](); | 34 a[i](); |
35 } | 35 } |
36 } catch (MyException exception) { | 36 } on MyException catch (exception) { |
37 k += 100; | 37 k += 100; |
38 print(exception.message_); | 38 print(exception.message_); |
39 b(); | 39 b(); |
40 } finally { | 40 } finally { |
41 k += 1000; | 41 k += 1000; |
42 b(); | 42 b(); |
43 } | 43 } |
44 return k; | 44 return k; |
45 } | 45 } |
46 } | 46 } |
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 |