onErrorReturn method

Future<T> onErrorReturn(
  1. T onErrorValue, {
  2. FutureOr<void> onError(
    1. Object e,
    2. StackTrace s
    )?,
  3. AsyncExtensionErrorLogger? errorLogger,
  4. bool logError = true,
})

Returns this Future value or onErrorValue if it throws an error.

Logs the error using errorLogger or defaultAsyncExtensionErrorLogger if parameter logError is true.

Implementation

Future<T> onErrorReturn(T onErrorValue,
    {FutureOr<void> Function(Object e, StackTrace s)? onError,
    AsyncExtensionErrorLogger? errorLogger,
    bool logError = true}) async {
  try {
    return await this;
  } catch (e, s) {
    if (logError) errorLogger.logError(e, s);
    if (onError != null) {
      await onError(e, s);
    }
    return onErrorValue;
  }
}