>  기사  >  Java  >  Java에서 fillInStackTrace() 메소드를 언제 사용합니까?

Java에서 fillInStackTrace() 메소드를 언제 사용합니까?

WBOY
WBOY앞으로
2023-08-19 15:01:091323검색

Java에서 fillInStackTrace() 메소드를 언제 사용합니까?

Java에서 fillInStackTrace()는 Throwable 클래스의 중요한 메서드입니다. 스택 추적은 예외가 발생한 정확한 위치를 확인하는 데 도움이 될 수 있습니다. 어떤 경우에는 예외를 다시 발생시키고 어디서 다시 발생했는지 알아내야 할 수도 있습니다. 이 경우 fillInStackTrace() 메서드를 사용할 수 있습니다.

Grammar

<strong>public Throwable fillInStackTrace()</strong>

Example

의 중국어 번역은

Example

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();
      }
   }
}

Output

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)
입니다.

위 내용은 Java에서 fillInStackTrace() 메소드를 언제 사용합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 tutorialspoint.com에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제