English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
fillInStackTrace() هي طريقة مهمة في فئة Throwable في 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("داخل طريقة method2():"); e.printStackTrace(); throw e.fillInStackTrace(); //إطلاق fillInStackTrace() } } public static void main(String[] args) throws Throwable { try { method2(); } catch (Exception e) { System.err.println("مضبوط داخل طريقة الرئيسية"); e.printStackTrace(); } } }
نتيجة النسخ
داخل طريقة 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) مضبوط داخل طريقة الرئيسية java.lang.Exception: This is thrown from method1() في at FillInStackTraceTest.method2(FillInStackTraceTest.java:12) في at FillInStackTraceTest.main(FillInStackTraceTest.java:18)