处理中断堆栈跟踪

时间:2019-08-20 10:00:44

标签: processing stack-trace

使用在macOS 10.14.6的Terminal.app中运行的Command line edition for Processing 0269 (Java Mode)


我正在使用processing-java运行一个正在产生错误的 Processing 程序。因此,将打印以下堆栈跟踪:

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
    at processing.core.PApplet.runSketch(PApplet.java:10845)
    at processing.core.PApplet.main(PApplet.java:10613)
Caused by: java.lang.reflect.InvocationTargetException
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at processing.core.PApplet.runSketch(PApplet.java:10839)
    ... 1 more
Caused by: java.lang.NullPointerException
    at treibsand$Runtime.averageHistory(treibsand.java:72)
    at treibsand$Analyzer.<init>(treibsand.java:204)
    at treibsand.<init>(treibsand.java:105)
    ... 6 more

现在,如果不是显示文字... 6 more而不是其余堆栈跟踪信息,则此信息可能会很有用。

Processing IDE 中运行程序时,显示相同的堆栈跟踪。

如何查看整个堆栈跟踪?

1 个答案:

答案 0 :(得分:1)

处理过程不会中断任何事情。这是Java标准的一部分。有关更多信息,请参见here

这并不重要。堆栈跟踪的顶部几乎总是包含您要查找的信息。在您的情况下,您正在NullPointerException的第72行上击中treibsand.java(顺便说一句,应遵循标准命名约定,使用大写字母命名)。

如果您确实需要有关确切情况的更多信息,则可以在该行的上方添加自己的日志记录,并打印出所需的任何内容,包括完整的堆栈跟踪。但是我的猜测是,这实际上并没有帮助,因为问题正在堆栈跟踪顶部的行上发生。

这可能是由于在初始化草图之前尝试使用处理功能引起的。但是同样,该信息在堆栈跟踪中也不会更低。