gpt4 book ai didi

java - 调试 nullPointerException 的好方法

转载 作者:IT老高 更新时间:2023-10-28 20:57:06 26 4
gpt4 key购买 nike

我正在使用 eclipse 和 java 编程。有时我会遇到一个会困扰我几个小时的 nullPointerException。有没有办法更好地调试 nullPointerExceptions 并找出变量值是什么以及其他会导致空指针异常的事情。

最佳答案

查看堆栈跟踪并读取抛出 NullPointerException 的行号。几乎总是,该行有一些方法调用,如

x.getValue()

如果 xnull,您将得到 NullPointerException。如果堆栈跟踪顶部的方法不是您的代码,请一直跟踪堆栈,直到您到达您的代码。在这种情况下,您经常将 null 传递给不喜欢 null 参数的方法。找到它并修复它。

此外,当您遇到不是您自己的方法抛出 NullPointerException 时,请阅读文档。例如,查看 String.replace(CharSequence target, CharSequence replacement) :

Throws:

NullPointerException - if target or replacement is null.

没有比这更清楚的了!

这是一个例子:

enter image description here

查看第 4 行,我们看到 foo.bar()。这意味着 foonull。那很容易。我们再看一个例子:

enter image description here

追溯您的代码,我们看到 s.replace(target, replacement) 正在抛出。我们应该检查 targetreplacement。让我们附加一个调试器:

enter image description here

啊哈! replacementnull。您可以在 Eclipse 中做同样的事情。在抛出异常时设置断点,并使用它来检查方法的参数。我在这里很原始,因为我来自一个思想流派,我真诚地相信,如果每个人都先学会以艰难的方式去做,就会变得更好。泄漏抽象等等。

关于java - 调试 nullPointerException 的好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17871825/

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