onError method Null safety

  1. @override
void onError(
  1. Object error,
  2. StackTrace stackTrace
)
override

Called whenever an error occurs and notifies BlocObserver.onError.

In debug mode, onError throws a BlocUnhandledErrorException for improved visibility.

In release mode, onError does not throw and will instead only report the error to BlocObserver.onError.

Note: super.onError should always be called last.

@override
void onError(Object error, StackTrace stackTrace) {
  // Custom onError logic goes here

  // Always call super.onError with the current error and stackTrace
  super.onError(error, stackTrace);
}

Implementation

@override
void onError(Object error, StackTrace stackTrace) {
  if (error is MethodExecutionException) {
    error.complete();
    super.onError(error.error, stackTrace);
  } else {
    super.onError(error, stackTrace);
  }
}