【发布时间】:2022-08-08 20:21:35
【问题描述】:
这是我的拦截器 onError 代码。我正在尝试通过使用自定义异常类来引发自定义异常
@override
Future<void> onError(DioError err, ErrorInterceptorHandler handler) async {
switch (err.type) {
case DioErrorType.connectTimeout:
case DioErrorType.sendTimeout:
case DioErrorType.receiveTimeout:
throw DeadlineExceededException(err.requestOptions);
case DioErrorType.response:
switch (err.response?.statusCode) {
case 400:
throw BadRequestException(err.requestOptions);
case 401:
throw UnauthorizedException(err.requestOptions);
case 404:
throw NotFoundException(err.requestOptions);
case 409:
throw ConflictException(err.requestOptions);
case 500:
throw InternalServerErrorException(err.requestOptions);
}
break;
case DioErrorType.cancel:
break;
case DioErrorType.other:
throw NoInternetConnectionException(err.requestOptions);
}
// super.onError(err, handler);
return handler.next(err);
}
我无法赶上这部分指针卡在抛出自定义异常上
static requestMyJobs() async {
try {
print(\'---------job calling api---------\');
var response = await ApiBase.dio.get(ApiLinks.getMyJobsLink);
print(\'Status code ${response.statusCode}\');
var jocodedData = response.data[\'data\'];
return jocodedData.map<MyJobs>((json) => MyJobs.fromJson(json)).toList();
} on UnauthorizedException catch (f) {
print(\"-Exception----------------\");
}
}
标签: flutter dart interceptor dio onerror