Clojure NullPointerException[无消息]--如何查找其源?

Clojure NullPointerException[无消息]--如何查找其源?,clojure,luminus,Clojure,Luminus,我的luminus应用程序中有NullPointerException[无消息]。在这里发布的代码很长,我找不到错误的来源。日志中也没有提到NullPointerException[no message],在浏览器中,错误根本没有意义,错误产生的确切位置和变量也没有精确显示 如何跟踪导致错误的原因?由于访问/使用保存该值的变量而导致空指针异常。作为一名程序员,我们必须对从其他函数返回值的变量执行null chuck 如果您想跟踪它,只需保留从哪个操作获得此错误的调试点n chuck哪个变量作为空

我的luminus应用程序中有NullPointerException[无消息]。在这里发布的代码很长,我找不到错误的来源。日志中也没有提到NullPointerException[no message],在浏览器中,错误根本没有意义,错误产生的确切位置和变量也没有精确显示


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

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


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

我对此类错误采取的方法是

如果是最近发生的新错误,那么很可能是最近添加的代码导致的。因此,使用该代码作为起点 查看是否有可能返回nil值的API调用。试着一个接一个地替换每个带有实数硬编码值的API,看看是否仍然看到错误 一旦你弄清楚哪个API调用返回nil,那么深入挖掘看看你是否向API传递了任何错误的参数,或者导致了某种情况,导致它返回nil
HTH:

Clojure的错误消息可能是地狱,但它们不是无用的。请查看此链接:


它帮助了我,并希望它能为您做同样的事情

如果您想跟踪它,只需在struts/controller中保留导致引发异常的调试点actio-how?action。或者如果您知道哪个类/方法引发异常,那么在进入或开始类/方法之前保留断点,如果您想跟踪它只需保留调试点,从哪个操作开始-如何准确地设置断点?然后深入挖掘,看看是否向API传递了任何错误的参数,-宾果。那么怎么做呢?您需要检查API的签名源代码和/或文档。ps:我所说的API实际上是指任何内部/外部函数