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 library barback.utils; | 5 library barback.utils; |
6 | 6 |
7 import 'dart:async'; | 7 import 'dart:async'; |
8 import 'dart:typed_data'; | 8 import 'dart:typed_data'; |
9 | 9 |
10 import 'package:stack_trace/stack_trace.dart'; | 10 import 'package:stack_trace/stack_trace.dart'; |
(...skipping 307 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
318 | 318 |
319 // TODO(nweiz): Implement this using a transformer when issues 18588 and 18586 | 319 // TODO(nweiz): Implement this using a transformer when issues 18588 and 18586 |
320 // are fixed. | 320 // are fixed. |
321 var subscription; | 321 var subscription; |
322 var controller = new StreamController(onCancel: () => subscription.cancel()); | 322 var controller = new StreamController(onCancel: () => subscription.cancel()); |
323 subscription = broadcast.listen(controller.add, | 323 subscription = broadcast.listen(controller.add, |
324 onError: controller.addError, | 324 onError: controller.addError, |
325 onDone: controller.close); | 325 onDone: controller.close); |
326 return controller.stream; | 326 return controller.stream; |
327 } | 327 } |
| 328 |
| 329 /// A regular expression to match the exception prefix that some exceptions' |
| 330 /// [Object.toString] values contain. |
| 331 final _exceptionPrefix = new RegExp(r'^([A-Z][a-zA-Z]*)?(Exception|Error): '); |
| 332 |
| 333 /// Get a string description of an exception. |
| 334 /// |
| 335 /// Many exceptions include the exception class name at the beginning of their |
| 336 /// [toString], so we remove that if it exists. |
| 337 String getErrorMessage(error) => |
| 338 error.toString().replaceFirst(_exceptionPrefix, ''); |
OLD | NEW |