我在 Java Swing 应用程序中使用 Groovy,作为我计划的一部分,强制为自己提供动态语言,直到我喜欢它们(这在一定程度上正在发生)。
我的堆栈跟踪充满了 Groovy 之类的东西
org.codehaus.groovy.runtime.callsite.ConstructorSite$ConstructorSiteNoUnwrapNoCoerce.callConstructor
有没有办法让 Eclipse 删除所有
codehaus
的东西(基本上是过滤堆栈跟踪)? 编辑: 我可以使用
grep
(嗯,not yet)从命令行执行此操作,所以还不错,但在 Eclipse 内部也很棒。 最佳答案
Groovy 中有一个实用程序可以完全满足您的需求:StackTraceUtils。 STU 将从您的堆栈跟踪中清除所有调用站点信息,留下您真正感兴趣的内容。
编辑: 在 Java 中,您必须根据注释将异常封装在 java.lang.RuntimeException
中。
用法示例:
try {
1/0;
} catch (Throwable t) {
throw new RuntimeException(org.codehaus.groovy.runtime.StackTraceUtils.sanitize(t)); //Modifies the Throwable and rethrows
}
StackTraceUtils 在最新版本的 Groovy 中可用,最初来自 Grails。我不确定您将如何将其应用于所有项目的堆栈跟踪,但我认为 Griffon 和 Grails 都这样做了,因此这些项目中应该有一些提示。
关于java - 使用 Eclipse 在 Groovy 中清除堆栈跟踪?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2334037/