onError method

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

Called when an exception was occurred during the request.

Implementation

@override
void onError(DioException err, ErrorInterceptorHandler handler) {
  if (error) {
    if (err.type == DioExceptionType.badResponse) {
      final uri = err.response?.requestOptions.uri;
      _printBoxed(
        _logPrintError,
        header:
            'DioException ║ Status: ${err.response?.statusCode} ${err.response?.statusMessage}',
        text: uri.toString(),
      );
      if (err.response != null && err.response?.data != null) {
        _logPrintError('╔ ${err.type}');
        _printResponse(_logPrintError, err.response!);
      }
      _printLine(_logPrintError, '╚');
      _logPrintError('');
    } else {
      _printBoxed(
        _logPrintError,
        header: 'DioException ║ ${err.type}',
        text: err.message,
      );
      _printRequestHeader(_logPrintError, err.requestOptions);
    }
  }
  super.onError(err, handler);
}