在Java中何时使用fillInStackTrace()方法?

2023年 8月 28日 48.1k 0

在Java中何时使用fillInStackTrace()方法?

在Java中,fillInStackTrace()是Throwable类中的一个重要方法。堆栈跟踪可以帮助确定异常的确切抛出位置。在某些情况下,我们可能需要重新抛出异常并找出它被重新抛出的位置,我们可以在这种情况下使用fillInStackTrace()方法。

语法

public Throwable fillInStackTrace()

登录后复制

Example

的中文翻译为:

示例

public class FillInStackTraceTest {
public static void method1() throws Exception {
throw new Exception("This is thrown from method1()");
}
public static void method2() throws Throwable {
try {
method1();
} catch(Exception e) {
System.err.println("Inside method2():");
e.printStackTrace();
throw e.fillInStackTrace(); // calling fillInStackTrace() method
}
}
public static void main(String[] args) throws Throwable {
try {
method2();
} catch (Exception e) {
System.err.println("Caught Inside Main method()");
e.printStackTrace();
}
}
}

登录后复制

输出

Inside method2():
java.lang.Exception: This is thrown from method1()
at FillInStackTraceTest.method1(FillInStackTraceTest.java:3)
at FillInStackTraceTest.method2(FillInStackTraceTest.java:7)
at FillInStackTraceTest.main(FillInStackTraceTest.java:18)
Caught Inside Main method()
java.lang.Exception: This is thrown from method1()
at FillInStackTraceTest.method2(FillInStackTraceTest.java:12)
at FillInStackTraceTest.main(FillInStackTraceTest.java:18)

登录后复制

以上就是在Java中何时使用fillInStackTrace()方法?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!

相关文章

JavaScript2024新功能:Object.groupBy、正则表达式v标志
PHP trim 函数对多字节字符的使用和限制
新函数 json_validate() 、randomizer 类扩展…20 个PHP 8.3 新特性全面解析
使用HTMX为WordPress增效:如何在不使用复杂框架的情况下增强平台功能
为React 19做准备:WordPress 6.6用户指南
如何删除WordPress中的所有评论

发布评论