Future<T>.error constructor
Creates a future that completes with an error.
The created future will be completed with an error in a future microtask. This allows enough time for someone to add an error handler on the future. If an error handler isn't added before the future completes, the error will be considered unhandled.
The error
must not be null
.
Use Completer to create a future and complete it later.
Implementation
factory Future.error(Object error, [StackTrace stackTrace]) {
ArgumentError.checkNotNull(error, "error");
if (!identical(Zone.current, _rootZone)) {
AsyncError replacement = Zone.current.errorCallback(error, stackTrace);
if (replacement != null) {
error = _nonNullError(replacement.error);
stackTrace = replacement.stackTrace;
}
}
stackTrace ??= AsyncError.defaultStackTrace(error);
return new _Future<T>.immediateError(error, stackTrace);
}