我正在监视一些服务器日志,并且有很多NullPointerExceptions
. 日志包含堆栈跟踪和getCause的原因。
问题是这些 NPE 不包含原因。在 JavaDocs 中,它说原因是 null 当它不存在或未知时(不是很有帮助)。
所以我的问题是,有人遇到过这些“无故”的 NPE 吗?如果是这样,在那种情况下是什么问题?我有点迷失在这里,所以任何见解都会受到赞赏。
我正在监视一些服务器日志,并且有很多NullPointerExceptions
. 日志包含堆栈跟踪和getCause的原因。
问题是这些 NPE 不包含原因。在 JavaDocs 中,它说原因是 null 当它不存在或未知时(不是很有帮助)。
所以我的问题是,有人遇到过这些“无故”的 NPE 吗?如果是这样,在那种情况下是什么问题?我有点迷失在这里,所以任何见解都会受到赞赏。
NPE 永远不会有原因,因为它们是在您尝试访问空对象引用时由 JVM 生成的。堆栈跟踪应该包含有关它发生的行的信息。
NullPointerException 的原因通常从堆栈跟踪中非常清楚。您查看它发生的行并观察那里可以为空的内容。没有进一步的原因(因为这里是由 NullPointerException 包装的不同异常)。
如果 NullPointerException 没有堆栈跟踪,这可能会发生并且是一个更难诊断的问题,但如果我理解你的问题,这里不是这种情况。