gpt4 book ai didi

flutter - 什么是 NoSuchMethod 错误,我该如何解决?

转载 作者:行者123 更新时间:2023-12-03 02:41:04 28 4
gpt4 key购买 nike

我有一些代码,当我运行它时会产生一个错误,说:

NoSuchMethod: the method 'XYZ' was called on null


这是什么意思,我该如何解决?

最佳答案

为什么我会收到这个错误?
例子
作为一个现实世界的比较,刚刚发生的是这样的对话:

Hey, how much gas is left in the tank of the car?


What are you talking about, we don't have a car.


这正是你的程序中发生的事情。您想调用类似 _car.getGasLevel(); 的函数但是没有车,变量 _carnull .
显然,在您的程序中,它可能不是汽车。它可以是一个列表或一个字符串或其他任何东西。
技术说明
您正在尝试使用 null 的变量.要么您已明确将其设置为 null ,或者你根本就没有设置它,默认值是 null .
像任何变量一样,它可以传递给其他函数。出现错误的地方可能不是来源。您必须遵循实际 null 的线索。值(value)它最初来自哪里,找出问题是什么以及解决方案可能是什么。 null可以有不同的含义:未设置为其他值的变量将为 null ,但有时程序员会故意使用空值来表示没有值。数据库有可为空的字段,JSON 有缺失值。丢失的信息可能确实是信息本身。变量 bool userWantsPizzaForDinner;例如可能用于 true当用户说是时, false当用户拒绝时,它可能仍然是 null当用户还没有选择某些东西时。这不是错误,它是故意使用的,需要相应地处理。
我如何解决它?
找到它
使用错误消息附带的堆栈跟踪来准确找出错误发生在哪一行。然后在该行上设置一个断点。当程序到达断点时,检查变量的所有值。其中之一是 null ,找出哪一个。
修理它
一旦你知道它是哪个变量,找出它是如何结束的 null .它从哪里来的?该值是否从未设置过?该值是另一个变量吗?该变量是如何获得它的值的。这就像一行面包屑,您可以按照直到到达某个变量从未设置过的点,或者可能到达某个变量被有意设置为 null 的点。 .如果是无意的,只需修复它。将其设置为您希望它具有的值。如果是故意的,那么您需要在程序中进一步处理它。也许你需要另一个 if为这种情况做一些特别的事情。如有疑问,可以询问有意设置为 null的人。他们想要达到的目标。

关于flutter - 什么是 NoSuchMethod 错误,我该如何解决?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64049102/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com