onError method

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

Called when an exception was occurred during the request.

Implementation

@override
void onError(DioException err, ErrorInterceptorHandler handler) {
  if (!enabled) return handler.next(err);
  _guard(() => debug.addError(err), 'addError');

  if (printToConsole) {
    debugPrint(
      '🦀 ERROR [${err.response?.statusCode ?? err.type.name}] ${_safeUrl(err.requestOptions.uri)}',
    );
    debugPrint('   TYPE: ${err.type}');
    if (err.message != null) debugPrint('   MESSAGE: ${err.message}');
    if (err.response?.data != null) {
      debugPrint(
        '   RESPONSE DATA: ${_truncate(LogFormatter.encode(_safe(err.response?.data)))}',
      );
    }
    if (err.error != null) debugPrint('   UNDERLYING: ${err.error}');
  }

  handler.next(err);
}