在大多数语言中,当你试图使用空指针时,会抛出一个异常。然而,在Flutter中,情况似乎不是这样。它不会抛出异常,而是简单地停止执行函数。
void test() {
Map<String, dynamic> testObject = null;
// attempt to call a function on a null pointer
var contains = testObject.containsKey("test");
//will never execute:
print("never prints");
}
这在生产应用中是可以的,但当我开发应用时,我想 * 知道 * 我的应用何时尝试访问空指针。
有没有可能在开发过程中在Flutter中启用某种“严格”模式,这样我就可以在开发过程中捕捉到这些情况?
1条答案
按热度按时间2wnc66cl1#
由于Flutter在2020年左右在stable上推出了null-safety,因此启用null-safety应该会显示代码中潜在不安全的可空值的警告。这应该有助于您识别代码中导致NullPointerException的原因。
另一方面,当抛出Exception时,函数结束。如果您仍然希望代码在Exception之后继续,则捕获Exception应该允许函数在之后继续。我修改了您提供的代码片段以进行演示。