Computer >> Máy Tính >  >> Lập trình >> Java

Làm thế nào để xử lý ngoại lệ bằng cách sử dụng UncaughtExceptionHandler trong Java?

UncaughtExceptionHandler là giao diện bên trong Luồng lớp. Khi chuỗi chính sắp kết thúc do có một ngoại lệ không cần thiết đối với máy ảo java sẽ gọi UncaughtExceptionHandler của chuỗi để có cơ hội thực hiện một số xử lý lỗi như ghi lại ngoại lệ cho tệp hoặc tải nhật ký lên máy chủ trước khi nó bị giết. Chúng ta có thể đặt một Trình xử lý Ngoại lệ Mặc định sẽ được gọi cho tất cả các ngoại lệ chưa được xử lý. Nó được giới thiệu trong Phiên bản Java 5 .

Có thể đặt Trình xử lý này bằng cách sử dụng phương thức tĩnh bên dưới của java.lang.Thread lớp học.

public static void setDefaultUncaughtExceptionHandler(Thread.UncaughtExceptionHandler ueh)

Chúng tôi phải cung cấp triển khai giao diện Thread.UncaughtExceptionHandler, chỉ có một phương pháp.

Cú pháp

@FunctionalInterface
public interface UncaughtExceptionHandler {
   void uncaughtException(Thread t, Throwable e);
}

Ví dụ

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

Đầu ra

The Exception Caught: java.lang.Exception: Test Exception