我想处理'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");
});