OLD | NEW |
1 // Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2013, 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 | 4 |
5 import 'dart:isolate'; | 5 import 'dart:isolate'; |
6 | 6 |
7 main() { | 7 main() { |
8 spawnFunction(runTest).call(null); | 8 ReceivePort reply = new ReceivePort(); |
| 9 Isolate.spawn(runTest, reply.sendPort); |
| 10 reply.first.then((StackTrace stack) { |
| 11 print(stack); |
| 12 }); |
9 } | 13 } |
10 | 14 |
11 runTest() { | 15 runTest(SendPort sendport) { |
12 port.receive((param, sendport) { | 16 try { |
| 17 throw 'sorry'; |
| 18 } catch (e, stack) { |
13 try { | 19 try { |
14 throw 'sorry'; | 20 sendport.send(stack); |
15 } catch (e, stack) { | 21 print("Stacktrace sent"); |
16 try { | 22 } catch (e) { |
17 sendport.send(stack); | 23 print("Stacktrace not sent"); |
18 print("Stacktrace sent"); | 24 sendport.send(null); |
19 } catch (e) { | |
20 print("Stacktrace not sent"); | |
21 sendport.send(null); | |
22 } | |
23 } | 25 } |
24 }); | 26 } |
25 } | 27 } |
OLD | NEW |