dart - 这个 Dart 错误处理程序有什么问题?

我正在 dart/flutter 中做一些(我认为的)基本异常处理。截至上周(2019 年 3 月 15 日),我正在使用最新版本的 dart 和 flutter。

这是我的代码:

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

但是,当运行程序并发生异常时,我在下面收到此消息并且看不到问题所在?

'Invalid argument (onError): Error handler must accept one Object or one Object and a StackTrace as arguments, and return a a valid result: Closure: (Exception) => Null'

我想我错过了一些愚蠢的东西,并且很想知道那是什么。

最佳答案

}).catchError((Exception error) {

必须是

}).catchError((Object error) {

这里不能限制为Exception。 Dart 可以抛出各种值。

https://stackoverflow.com/questions/55268266/

相关文章:

build - 如何在 Flutter 中修复 "Gradle build failed to pr

listview - 如何通过 Flutter 中的 RaisedButton 传递/绑定(bind

android - 如何设置 Flutter 应用的构建和版本号

flutter - 键盘向上插入内容/调整屏幕大小

dart - 如何在 Flutter 中保存图像文件?使用 Image_picker 插件选择的文件

image - Flutter CircleAvatar backgroundImage没有填满圆圈

sqlite - 如何在 Flutter 中使用 SQFlite 进行数据库查询

dart - 在 Flutter 中调用 showTimePicker() 时如何使用 24 小时制

Flutter - InheritedWidget - 处置

firebase - Flutter如何使用Future返回值作为变量