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 message = ""]) : message_ = message; | 7 const MyException([String message = ""]) : message_ = 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 i = 100; | 15 i = 100; |
16 i = func(); | 16 i = func(); |
17 i = 200; | 17 i = 200; |
18 } catch (MyException exception) { | 18 } on MyException catch (exception) { |
19 i = 50; | 19 i = 50; |
20 print(exception.message_); | 20 print(exception.message_); |
21 } finally { | 21 } finally { |
22 i = i + 800; | 22 i = i + 800; |
23 } | 23 } |
24 return i; | 24 return i; |
25 } | 25 } |
26 | 26 |
27 static int func() { | 27 static int func() { |
28 try { | 28 try { |
29 int i = 0; | 29 int i = 0; |
30 while (i < 10) { | 30 while (i < 10) { |
31 i++; | 31 i++; |
32 } | 32 } |
33 if (i > 0) { | 33 if (i > 0) { |
34 throw new MyException("Test for exception being thrown"); | 34 throw new MyException("Test for exception being thrown"); |
35 } | 35 } |
36 } catch (MyException ex) { | 36 } on MyException catch (ex) { |
37 print(ex.message_); | 37 print(ex.message_); |
38 throw; // Rethrow the exception. | 38 throw; // Rethrow the exception. |
39 } | 39 } |
40 return 10; | 40 return 10; |
41 } | 41 } |
42 } | 42 } |
43 | 43 |
44 class Throw3Test { | 44 class Throw3Test { |
45 static testMain() { | 45 static testMain() { |
46 Expect.equals(850, Helper.f1(1)); | 46 Expect.equals(850, Helper.f1(1)); |
47 } | 47 } |
48 } | 48 } |
49 | 49 |
50 main() { | 50 main() { |
51 Throw3Test.testMain(); | 51 Throw3Test.testMain(); |
52 } | 52 } |
OLD | NEW |