onError method

  1. @override
void onError(
  1. DioError err,
  2. ErrorInterceptorHandler handler
)

The callback will be executed on error.

If you want to continue the error , call handler.next.

If you want to complete the response with some custom data directly, you can resolve a Response object with handler.resolve and other error interceptor(s) will be skipped.

If you want to complete the response with an error message directly, you can reject a DioError object with handler.reject, and other error interceptor(s) will be skipped.

Implementation

@override
void onError(DioError err, ErrorInterceptorHandler handler) async {
  if (err.type != DioErrorType.cancel) {
    logPrint('*** DioError ***:');
    logPrint('uri: ${err.requestOptions.uri}');
    logPrint('$err');
    if (err.response != null) {
      _printResponse(err.response!);
    }
    logPrint('');
    handler.next(err);
  } else {
    logPrint('Dio cancel  uri:  ${err.requestOptions.uri}');
  }
}