exception - 如何处理 StreamSubscription 中 onData 回调的异常?
问题描述
我想处理来自“onData”函数的异常(第一个位置参数),但是在抛出异常时不会触发 onError。我刚刚收到“未处理的异常”警告。
我是否误解了使用上的“onError”?什么时候会被解雇?
代码:
final Logger log = Logger('test logger');
client.getUrl(Uri.parse(url)).then((HttpClientRequest request) {
return request.close();
}).then((HttpClientResponse response) {
try {
response.listen((d) {
throw Exception("TEST EXCEPTION");
}, onDone: () {
log.finer("onDone");
}, onError: (e, stack) {
log.warning("onError");
}, cancelOnError: true);
} catch (e, stack) {
log.warning("listen");
}
}).catchError((e, stack) {
log.warning("future");
});
解决方案
推荐阅读
- reactjs - 如何使用 Jest 在 React 函数组件中的状态接收表达式内部值后测试函数调用
- tycho - 使用补丁片段时使用 Tycho 2.4.0 编译的问题
- anaconda - 为什么 Conda 不更新 --all 更新任何东西?
- excel - 如何根据单元格是否为数字来输出不同的关键字?
- javascript - 辅助函数不返回响应,但使用函数显示结果
- notifications - 工作未结束时控制 M 电子邮件通知
- elasticsearch - Elasticsarch:使用单个节点执行重试
- vb.net - 一个表中的数据绑定控件,用于将值写入另一个表
- .net - 需要帮助为会话状态 (.NET) 配置 SQL Server 数据库
- c# - 单击列表项 C#,Selenium 时出错