使用在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 中运行程序时,显示相同的堆栈跟踪。
如何查看整个堆栈跟踪?
答案 0 :(得分:1)
处理过程不会中断任何事情。这是Java标准的一部分。有关更多信息,请参见here。
这并不重要。堆栈跟踪的顶部几乎总是包含您要查找的信息。在您的情况下,您正在NullPointerException
的第72行上击中treibsand.java
(顺便说一句,应遵循标准命名约定,使用大写字母命名)。
如果您确实需要有关确切情况的更多信息,则可以在该行的上方添加自己的日志记录,并打印出所需的任何内容,包括完整的堆栈跟踪。但是我的猜测是,这实际上并没有帮助,因为问题正在堆栈跟踪顶部的行上发生。
这可能是由于在初始化草图之前尝试使用处理功能引起的。但是同样,该信息在堆栈跟踪中也不会更低。