UncaughtExceptionHandler 스레드 내부의 인터페이스입니다. 수업. 메인 스레드가 포착되지 않은 예외로 인해 자바 가상 머신이 종료되려고 합니다. 스레드의 UncaughtExceptionHandler 를 호출합니다. 파일에 예외를 기록하는 것과 같은 일부 오류 처리를 수행할 기회 또는 서버에 로그 업로드 죽기 전에. 처리되지 않은 모든 예외에 대해 호출될 기본 예외 처리기를 설정할 수 있습니다. 자바 5 버전에 도입되었습니다. .
이 Handler는 java.lang.Thread의 정적 메소드를 사용하여 설정할 수 있습니다. 수업.
public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)
Thread.UncaughtExceptionHandler 인터페이스의 구현을 제공해야 합니다. 방법이 하나뿐입니다.
구문
@FunctionalInterface public interface UncaughtExceptionHandler { void uncaughtException(Thread t, Throwable e); }
예시
public class UncaughtExceptionHandlerTest { public static void main(String[] args) throws Exception { Thread.setDefaultUncaughtExceptionHandler(new MyHandler()); throw new Exception("Test Exception"); } private static final class MyHandler implements Thread.UncaughtExceptionHandler { @Override public void uncaughtException(Thread t, Throwable e) { System.out.println("The Exception Caught: " + e); } } }
출력
The Exception Caught: java.lang.Exception: Test Exception