【问题标题】:How can I static check the null pointer exception in Java?如何静态检查 Java 中的空指针异常?
【发布时间】:2015-04-12 15:48:54
【问题描述】:

我的 Android 项目中有一些 NullPointerException 崩溃。如何在 Java / Android 中静态检查或测试 NullPointerException 崩溃?

【问题讨论】:

  • 你的意思是即使有空指针也要继续?
  • 澄清一下:您是在问从哪里获取/如何使用静态分析器来执行此操作,还是您是在问如何编写静态分析器来执行此操作?在前一种情况下,这是错误的 - 在后一种情况下,问题过于宽泛/开放。
  • 使用 findbugs 分析你的代码

标签: java android nullpointerexception static-analysis


【解决方案1】:

在运行时避免 nullPointerException 的正确方法是在 null 检查 中包围您的代码,如下所示:

if (mySomething != null) {
    doSomething(mySomething);
}

这只会使用mySomething如果不是null并且可以使用,从而避免nullPointerExceptions。您也可以捕获nullPointerExcepton,但这不是一个好主意。


您还可以使用 静态分析 工具(例如 FindBugs 或 IntelliJ 的内置检查)来分析您的代码并告诉您它是否可以生成 nullPointerException

【讨论】:

    【解决方案2】:

    有一篇很棒的文章描述了最常见的 NPE 案例的最佳实践:http://javarevisited.blogspot.hu/2013/05/ava-tips-and-best-practices-to-avoid-nullpointerexception-program-application.html

    您可以对代码分析器工具进行参数化以捕捉这些情况。

    【讨论】:

    • 不要仅仅发布链接,最好将文章的相关部分发布到您的答案中。否则,当该博客出现故障时,您的回答可能会变得毫无用处。
    猜你喜欢
    • 2013-12-02
    • 1970-01-01
    • 2015-07-15
    • 1970-01-01
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多