【发布时间】:2020-05-15 01:17:44
【问题描述】:
我怎样才能只显示 DioError 内容提供的消息?
例如,而不是这个:
DioError [DioErrorType.DEFAULT]: User not found!
我只想展示:
User not found!
这里是 dio 拦截器代码:
dio.interceptors
..add(InterceptorsWrapper(
onRequest: (RequestOptions options) {
print("Dio Request");
print(options.headers);
print(options.data);
print(options.contentType);
print(options.extra);
print(options.baseUrl + "" + options.path);
return options;
},
onResponse: (Response response) {
print("Dio Success Response");
print(response.data);
print(response.extra);
return response;
},
onError: (DioError e) async {
print("Dio Error Response");
print(e.response);
print(e.message);
print(e.type);
await _errorResponseCheck(e);
},
))
_errorResponseCheck(DioError e) {
if (e.response.data["message"] != null) {
throw HttpException(e.response?.data["message"]?.toString());
} else {
return e;
}
}
【问题讨论】:
-
e.message会给你错误信息。 -
或者只是得到这样的错误
print(e.message.split(":").last); -
现在我更新了我的答案,请看一下。也许它现在会对你有所帮助。