English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
fillInStackTrace() ist eine wichtige Methode der Klasse Throwable in Java. Der Stack Trace ist für die Bestimmung des Ortes, an dem eine Ausnahme ausgelöst wurde, sehr nützlich. In einigen Fällen müssen wir eine Ausnahme neu werfen und die neu geworfene Ausnahme finden, in diesem Fall können wir die Methode fillInStackTrace() verwenden.
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(); //调用fillInStackTrace()方法 } } public static void main(String[] args) throws Throwable { try { method2(); } catch (Exception e) { System.err.println("Caught Inside Main method()"); e.printStackTrace(); } } }
Output result
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)