NullPointerException [没有消息] - 我怎样才能找到它的来源?

时间:2016-08-20 05:14:00

标签: clojure luminus

我的luminus应用程序中有NullPointerException [no message]。代码很长,在这里发布,我找不到错误的来源。在日志中没有提到“NullPointerException [no message]”,并且在浏览器中错误没有意义,并且没有准确显示导致错误的确切位置和变量。

如何追踪导致错误的原因?

3 个答案:

答案 0 :(得分:0)

我为这些错误采取的方法是

  • 如果是新错误(最近开始发生),则很可能是由最近添加的代码引起的。所以使用该代码作为起点
  • 查看是否存在可能返回nil值的API调用。尝试逐个替换每个具有真实硬编码值的API,并查看您是否仍然看到错误
  • 一旦你弄清楚哪个API调用正在返回nil,那么深入挖掘一下,看看你是否将任何错误的参数传递给API,或者导致某些情况归因于它返回{{1} 1}}

HTH:)

答案 1 :(得分:0)

Clojure的错误信息可能很糟糕,但它们并不是无用的。看看这个链接:

https://8thlight.com/blog/connor-mendenhall/2014/09/12/clojure-stacktraces.html

它帮助了我并希望它可以为你做同样的事情

答案 2 :(得分:-1)

由于访问/使用保存值的​​变量而导致空指针异常。作为程序员,我们必须对从其他函数返回值的变量执行null chuck。

如果你想跟踪它,只需保持调试点,从哪个动作获得此错误n chuck哪个变量你的访问为空值。