OLD | NEW |
| (Empty) |
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 | |
3 // BSD-style license that can be found in the LICENSE file. | |
4 // Dart test program for testing throw statement | |
5 | |
6 class MyException1 { | |
7 const MyException1([String message = "1"]) : message_ = message; | |
8 final String message_; | |
9 } | |
10 | |
11 class Helper { | |
12 Helper() : i = 0 { } | |
13 | |
14 int f1() { | |
15 int j = 0; | |
16 try { | |
17 j = func(); | |
18 } catch (var exception) { | |
19 i = i + 100; | |
20 print(exception.message_); | |
21 } finally { | |
22 i = i + 1000; | |
23 } | |
24 return i; | |
25 } | |
26 | |
27 // No catch in the same function for the type of exception being thrown | |
28 // in the try block here. We expect the handler if checks to fall thru, | |
29 // the finally block to run and an implicit rethrow to happen. | |
30 int func() { | |
31 i = 0; | |
32 try { | |
33 while (i < 10) { | |
34 i++; | |
35 } | |
36 if (i > 0) { | |
37 throw new MyException1("Test for MyException1 being thrown"); | |
38 } | |
39 } finally { | |
40 i = 800; | |
41 } | |
42 return i; | |
43 } | |
44 int i; | |
45 } | |
46 | |
47 class Throw6Test { | |
48 static testMain() { | |
49 Expect.equals(1900, new Helper().f1()); | |
50 } | |
51 } | |
52 | |
53 main() { | |
54 Throw6Test.testMain(); | |
55 } | |
OLD | NEW |