java - 是否可以更改 Java 的 NullPointerException 以报告哪个变量为空?

标签 java nullpointerexception

<分区>

Java 中的NullPointerException 似乎只报告它发生在特定的代码行上。如果一行代码中使用了多个变量,是否可以更改该异常以说明哪个变量为空?

最佳答案

不,类文件中的调试信息没有包含足够的信息来允许这样做。

但是,您可以改善这种情况。有两种情况会导致抛出 NPE:

  • . 取消引用变量,如 foo.bar().
  • [ 索引数组,如 args[0]

如果您编写的代码在给定的代码行中只有一个,那么毫无疑问是哪一个导致了 NPE。它将引入大量 临时变量,但随后您在调试时可以随时获得更多信息。

关于java - 是否可以更改 Java 的 NullPointerException 以报告哪个变量为空?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12591806/

相关文章:

Java class.getResourceAsStream() 返回不正确的字节

java - 使用@Transactional 进行延迟初始化

java - 什么是NullPointerException,我该如何解决?

android - 无法修复 NullPointer 异常

java - 如何将 DateTimeFormatter 转换为 Timestamp sql 格式

java - 过于复杂的目录迭代结构破坏了程序的连续性和可理解性

java - SherlockFragment 中未定义的 getIntent() 方法

java - 什么是 NullPointerException,我该如何解决?

java - 不知道为什么我收到 NullPointerException 错误

java - NullPointerException(当 String 初始化时)