java - 使用 Eclipse 清理 Groovy 中的堆栈跟踪?

标签 java groovy

我在 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/

相关文章:

gradle - groovy/gradle插件无法有条件地构建

java - 是否可以使用 plafyramework2 for java 和 groovy 模板?

gradle - DRY Gradle 任务

java - Xalan DTMManager.newInstance 性能问题

java - 如何从 OptaPlanner 中的先前解决方案获取 ScoreDirectorFactory

java - struts2静态方法调用问题

groovy - 在 Groovy 中查找列表中重复项的有效方法

java - 通过重复缩短 if 语句

java - 在 Eclipse 中隐藏重复的工具栏项目

grails - Grails操作适用于GET请求,针对POST请求返回404