此Dart错误处理程序有什么问题?

时间:2019-03-20 18:56:29

标签: dart flutter

我正在做一些(我认为)飞镖/扑动中的基本异常处理。我正在使用截至上周(2019/3/15)的最新版本的飞镖和飞镖。

这是我的代码:

void MyMethod() {
    Storage.getFilePaths().then((paths) {
      //do something
    }).catchError((Exception error) {
      //do something else
      return null;
    });
 }

但是,在运行程序和发生异常时,我在下面看到此消息,看不到是什么问题?

  

'无效参数(onError):错误处理程序必须接受一个Object或   一个对象和一个StackTrace作为参数,并返回一个有效的   结果:闭包:(Exception)=> Null'

我认为我想念一些愚蠢的东西,很想知道那是什么。

1 个答案:

答案 0 :(得分:7)

}).catchError((Exception error) {

必须是

}).catchError((Object error) {

您不能在此处限制为Exception。 Dart可以抛出各种值。