首页 > 解决方案 > 为什么 Dart 有这么多静默的运行时异常/错误?

问题描述

我对 Dart 感到非常沮丧,因为运行时异常似乎无声无息地失败了。程序执行将在某种类型的失败后继续执行,让我完全不知道什么不工作以及为什么。例如,在将 aqueduct 用于 dart 服务器时(这不是 aqueduct 独有的问题,而是一般的 dart)我有以下代码:

jsonData.forEach((jsonObject) async {
    ManagedObject record = Document();
    record.read(jsonObject);
    print(Util.jsonFormatToString(record.asMap()));
    ....more code
}

在这种情况下,应用程序在 record.read() 退出 forEach 循环时静默失败,然后继续执行代码。在调试过程中,应用程序返回完全奇怪的结果,调试后,可能是 jsonObject 试图被读入托管对象时出现问题,但 Dart 没有通知存在问题或问题可能是什么。

这是我遇到的许多例子之一。

为什么 Dart 会如此悄无声息地失败,或者我错过了某个隐藏关键信息的设置?我正在使用 IntelliJ IDE。

标签: flutterdartruntime-erroraqueduct

解决方案


推荐阅读