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 throw statement | 4 // Dart test program for testing throw statement |
5 | 5 |
6 class MyException { | 6 class MyException { |
7 const MyException(String this.message_); | 7 const MyException(String this.message_); |
8 final String message_; | 8 final String message_; |
9 } | 9 } |
10 | 10 |
11 class Helper { | 11 class Helper { |
12 static int f1(int i) { | 12 static int f1(int i) { |
13 try { | 13 try { |
14 int j; | 14 int j; |
15 j = func(); | 15 j = func(); |
16 if (j > 0) { | 16 if (j > 0) { |
17 throw new MyException("Test for exception being thrown"); | 17 throw new MyException("Test for exception being thrown"); |
18 } | 18 } |
19 } catch (MyException exception) { | 19 } on MyException catch (exception) { |
20 i = 100; | 20 i = 100; |
21 print(exception.message_); | 21 print(exception.message_); |
22 } finally { | 22 } finally { |
23 i = i + 800; | 23 i = i + 800; |
24 } | 24 } |
25 return i; | 25 return i; |
26 } | 26 } |
27 | 27 |
28 static int func() { | 28 static int func() { |
29 int i = 0; | 29 int i = 0; |
30 while (i < 10) { | 30 while (i < 10) { |
31 i++; | 31 i++; |
32 } | 32 } |
33 return i; | 33 return i; |
34 } | 34 } |
35 } | 35 } |
36 | 36 |
37 class ThrowTest { | 37 class ThrowTest { |
38 static testMain() { | 38 static testMain() { |
39 Expect.equals(900, Helper.f1(1)); | 39 Expect.equals(900, Helper.f1(1)); |
40 } | 40 } |
41 } | 41 } |
42 | 42 |
43 main() { | 43 main() { |
44 ThrowTest.testMain(); | 44 ThrowTest.testMain(); |
45 } | 45 } |
OLD | NEW |