processing - 处理切断堆栈跟踪
问题描述
使用Command line edition for Processing 0269 (Java Mode)
在 macOS 10.14.6 的 Terminal.app 中运行。
我正在使用processing-java
运行产生错误的处理程序。因此,将打印以下堆栈跟踪:
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中运行程序时会显示相同的堆栈跟踪。
如何查看整个堆栈跟踪?
解决方案
处理不会切断任何东西。这是 Java 标准的一部分。请参阅此处了解更多信息。
不过应该没关系。堆栈跟踪的顶部几乎总是包含您要查找的信息。在您的情况下,您正在点击NullPointerException
第 72 行treibsand.java
(顺便说一下,应该使用大写字母命名以遵循标准命名约定)。
如果您确实需要更多关于到底发生了什么的信息,那么您可以在该行上方添加您自己的日志并打印出您想要的任何内容,包括完整的堆栈跟踪。但我的猜测是这实际上并没有帮助,因为问题发生在堆栈跟踪顶部的行上。
这可能是由于在草图初始化之前尝试使用处理函数等引起的。但同样,该信息在堆栈跟踪中不会更低。
推荐阅读
- java - 如何使用 spring-kafka 框架将对象列表发送到 kafka 主题?
- c++ - 如何将向量推入队列
> 使用循环? - java - 如果有的话,用松耦合或高耦合改进我的代码?
- database - 运行一个完成它的工作的 Yaml 脚本,但它一直给我一个语法错误
- spotfire - Spotfire 表达式 - 获取每个 id 的下一个指标的最小值
- python - 使用不同笔记本的功能时出现键错误 40
- r - saveRDS 在管道 %>% 中并让它返回对象
- angular - 降级 Angular 组件以在 AngularJS 混合应用程序中使用
- orange - 将数据表写入 Google 表格
- azure-service-fabric - 访问 ActorService 以获取所有演员的列表