何時在 Java 中使用 fillInStackTrace() 方法?
Throwable 類中的 fillInStackTrace() 是 Java 中一個重要的方法。堆疊跟蹤對於確定異常的具體丟擲位置很有用。在某些情況下,我們可能需要重新丟擲一個異常並找出其重新丟擲的位置,在這種情況下,我們可以使用 fillInStackTrace() 方法。
語法
public Throwable fillInStackTrace()
示例
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:16) Caught Inside Main method() java.lang.Exception: This is thrown from method1() at FillInStackTraceTest.method2(FillInStackTraceTest.java:11) at FillInStackTraceTest.main(FillInStackTraceTest.java:16)
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP