Di Java, fillInStackTrace() ialah kaedah penting dalam kelas Throwable. Surih tindanan boleh membantu menentukan di mana betul-betul pengecualian dilemparkan. Dalam sesetengah kes, kita mungkin perlu melemparkan semula pengecualian dan mengetahui di mana ia dilemparkan semula, kita boleh menggunakan kaedah fillInStackTrace() dalam kes ini. Terjemahan bahasa Cina bagi
<strong>public Throwable fillInStackTrace()</strong>
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(); // <strong>calling fillInStackTrace() method</strong> } } 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)
Atas ialah kandungan terperinci Bila hendak menggunakan kaedah fillInStackTrace() dalam Java?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!