如何处理StreamSubscription中onData回调的异常?

时间:2019-08-10 01:15:58

标签: exception flutter stream future subscription

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

0 个答案:

没有答案