onError method
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}');
}
}