English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

¿Cuándo se debe usar el método fulInStackTrace() en Java?

fillInStackTrace() es un método importante de la clase Throwable en Java. El seguimiento de pila es útil para determinar dónde se lanzó la excepción. En ciertos casos, necesitamos lanzar de nuevo una excepción y encontrar la excepción lanzada de nuevo, en este caso, podemos usar el método fillInStackTrace().

Sintaxis

public Throwable fillInStackTrace()

Ejemplo

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(); //Llamar al método fillInStackTrace()
      }
   }
   public static void main(String[] args) throws Throwable {
      try {
         method2();
      } catch(Exception e) {
         System.err.println("Caught Inside Main method()");
         e.printStackTrace();
      }
   }
}

Resultados de salida

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)
Te gustará también