gpt4 book ai didi

flutter : Dio HTTP Handling error exception 404

转载 作者:行者123 更新时间:2023-12-03 03:40:02 24 4
gpt4 key购买 nike

我的期待
It's using Http.get
我在处理错误异常时遇到问题 迪奥 包,我正在尝试 HTTP 打包它使用此代码:

 Future<List<Mosque>> getMahasiswaById(String id) async{
try {
var apiRespon = await http.get('$baseURL/mahasiswa/get/id/$id');
if(apiRespon.statusCode == 200){
final apiResponJson = json.decode(apiRespon.body);
return (apiResponJson['data'] as List).map((p)=>Mosque.fromJson(p)).toList();
}else{
print(apiRespon.statusCode.toString());
throw Exception('Failed Load Data with status code ${apiRespon.statusCode}');
}
}on Exception catch (e) {
print(e);
return null;
}
}
但是如果我改成 迪奥 即使我已经在处理此异常,我的应用程序也突然崩溃并显示错误异常:
 Future<List<Mosque>> getMahasiswaById(String id) async{
try {
var apiRespon = await dio.get('$baseURL/mahasiswa/get/id/$id');
if(apiRespon.statusCode == 200){
final apiResponJson = apiRespon.data;
return (apiResponJson['data'] as List).map((p)=>Mosque.fromJson(p)).toList();
}else{
print(apiRespon.statusCode.toString());
throw Exception('Failed Load Data with status code ${apiRespon.statusCode}');
}
}on DioError catch (e) {
print(e);
return null;
}
}
我的异常(exception):

error : null
message :"Http status error [404]"
Response ({"status":false,"message":"Data Not Found"})


我已经在 github 中打开了问题,但还没有得到解决方案。
谢谢
This is my exception

最佳答案

在你的第一个代码中,使用 http 包,如果状态码不是 200,你会抛出一个 Exception那是 catch

on Exception catch (e) { ... }

但是,在带有 DIO 包的第二个代码中,您引发了相同的 Exception但是当您更改捕获条件时无法捕获它
on DioError catch (e) { ... }

由于此异常不会被捕获,因此它会通过您的应用程序传播。

关于 flutter : Dio HTTP Handling error exception 404,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57474139/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com