| Index: corelib/src/implementation/future_implementation.dart
|
| diff --git a/corelib/src/implementation/future_implementation.dart b/corelib/src/implementation/future_implementation.dart
|
| index 48c7d405b7c0d58f31143d1268c6ac93c1d66a79..be56fe6f83efc572f8300015bcfe0c4397b5ab34 100644
|
| --- a/corelib/src/implementation/future_implementation.dart
|
| +++ b/corelib/src/implementation/future_implementation.dart
|
| @@ -94,8 +94,15 @@ class FutureImpl<T> implements Future<T> {
|
| }
|
| }
|
|
|
| - void handleException(void onException(Object exception)) {
|
| - _exceptionHandlers.add(onException);
|
| + void handleException(bool onException(Object exception)) {
|
| + if (_exceptionHandled) return;
|
| + if (_isComplete) {
|
| + if (_exception != null) {
|
| + _exceptionHandled = onException(_exception);
|
| + }
|
| + } else {
|
| + _exceptionHandlers.add(onException);
|
| + }
|
| }
|
|
|
| void _complete() {
|
|
|