как я получил ответ на ошибку в пакете Dio

#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);  }  }  );  }