#flutter #dart
Вопрос:
привет всем, я использую пакет Dio, и я получил ответ на ошибку, но мне нужно напечатать значение из ответа на ошибку, а не просто напечатать ошибку, которую я получил вот так :
flutter: error:DioError [DioErrorType.response]: Http status error [400] flutter: #0 DioMixin.assureDioError flutter: #1 DioMixin._dispatchRequest flutter: lt;asynchronous suspensiongt; flutter: #2 DioMixin.fetch.lt;anonymous closuregt;.lt;anonymous closuregt; (package:dio/src/dio_mixin.dart) flutter: lt;asynchronous suspensiongt;
но я хочу, чтобы в ответе на ошибку было выведено значение следующим образом :
{ status: "error", code: "rateLimited", message: "bla bla bla bla bla." }
и это мой код
Futurelt;voidgt; getTechnology() async { await DioHelper.getData( path: 'v2/top-headlines', query: { 'country': 'ae', 'category': 'technology', 'apiKey': '1111', }, ).then( (value) async { _technology = value.data['articles']; }, ).catchError( (onError) =gt; print( throw onError.toString(), ), ); }
Ответ №1:
Попробуйте сделать что-нибудь подобное:
Futurelt;voidgt; getTechnology() async { await DioHelper.getData( path: 'v2/top-headlines', query: { 'country': 'ae', 'category': 'technology', 'apiKey': '1111', }, ).then( (value) async { _technology = value.data['articles']; }, ).catchError( (err) { if (err is DioError) { print(err.response); } } ); }