| Index: lib/core/future.dart
|
| diff --git a/lib/core/future.dart b/lib/core/future.dart
|
| index 99af2415180efcd019af18bce4ad6a7800ef087b..902432a64b90aa0a49be44957923cc0976fc79ea 100644
|
| --- a/lib/core/future.dart
|
| +++ b/lib/core/future.dart
|
| @@ -193,6 +193,28 @@ class FutureAlreadyCompleteException implements Exception {
|
| String toString() => "Exception: future already completed";
|
| }
|
|
|
| +/**
|
| + * Wraps unhandled exceptions provided to [Completer.completeException]. It is
|
| + * used to show both the error message and the stack trace for unhandled
|
| + * exceptions.
|
| + */
|
| +class FutureUnhandledException implements Exception {
|
| + /** Wrapped exception. */
|
| + var source;
|
| +
|
| + /** Trace for the wrapped exception. */
|
| + Object stackTrace;
|
| +
|
| + FutureUnhandledException(this.source, this.stackTrace);
|
| +
|
| + String toString() {
|
| + return 'FutureUnhandledException: exception while executing Future\n '
|
| + '${source.toString().replaceAll("\n", "\n ")}\n'
|
| + 'original stack trace:\n '
|
| + '${stackTrace.toString().replaceAll("\n","\n ")}';
|
| + }
|
| +}
|
| +
|
|
|
| /**
|
| * [Futures] holds additional utility functions that operate on [Future]s (for
|
|
|