gpt4 book ai didi

java - 有没有一种简单的方法可以判断 StackTraceElement 是否来自您的源代码?

转载 作者:塔克拉玛干 更新时间:2023-11-02 19:59:15 25 4
gpt4 key购买 nike

这是一个示例应用程序,在 Foo.main() 处抛出错误:

public class Foo {

public static void main(String args[]) {
try {
throw new RuntimeException();
} catch (Exception e) {
for (StackTraceElement elem : e.getStackTrace())
System.out.println(elem);
System.exit(-1);
}
}
}

这是输出:

Foo.main(Foo.java:5)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
java.lang.reflect.Method.invoke(Method.java:483)
com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)

假设我真的不关心最后五个 StackTraceElement 对象。

有没有一种简单的方法可以过滤掉我的项目中没有编译的那些?

最佳答案

从评论中提取(duffymo 和我的)

  1. 选择一个独特的 top-level包裹名字。示例将是
    com.yourcompanycom.productname...等

  2. 在异常处理例程中,检查包是否以你的模式。

关于java - 有没有一种简单的方法可以判断 StackTraceElement 是否来自您的源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30625243/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com