項目需要馍资,自定義data返回的數據code為500筒主,500接收到要有彈窗提示
異步請求數據時,出現彈窗出現鸟蟹,但灰屏現象乌妙,報錯位置猜測為彈窗和拋出異常
try {
if(response.data.data['code'] == '500'){
throw new Exception('這是一個異常');
}
return response.data;
} catch (e, r) {
EasyLoading.showError(e.toString());
LogUtil.error('網絡請求錯誤: 錯誤信息-${e.toString()}');
throw e;
}
修改后
try {
if(response.data.data['code'] == '500'){
// throw StateError('數據錯誤!');
await Future.delayed(Duration(seconds: 1)).then(
(e) => throw StateError('這是一個異常'));
}
return response.data;
} catch (e, r) {
EasyLoading.showError(e.toString());
LogUtil.error('網絡請求錯誤: 錯誤信息-${e.toString()}');
// throw e;
return Future.error('解析響應數據異常2');
}
修改原因是這是異步請求建钥,try藤韵、catch里面的寫法是異步變?yōu)橥胶蟛东@
鏈接:flutter異常處理