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

Sự khác biệt giữa Ngoại lệ và Lỗi trong Java

Các ngoại lệ và lỗi đều là lớp con của lớp Throwable. Lỗi chỉ ra sự cố chủ yếu xảy ra do thiếu tài nguyên hệ thống và ứng dụng của chúng tôi không thể bắt được các loại sự cố này. Một số ví dụ về lỗi là lỗi hệ thống và lỗi hết bộ nhớ. Các lỗi chủ yếu xảy ra trong thời gian chạy mà chúng thuộc loại không được kiểm tra.

Ngoại lệ là các vấn đề có thể xảy ra trong thời gian chạy và thời gian biên dịch. Nó chủ yếu xảy ra trong mã do các nhà phát triển viết. Các ngoại lệ được chia thành hai loại như ngoại lệ đã kiểm tra và ngoại lệ không được kiểm tra.

Sr. Không. Phím Lỗi Ngoại lệ
1
Loại
Được phân loại là loại không được kiểm tra
Được phân loại là đã chọn và đã bỏ chọn
2
Gói
Nó thuộc về java.lang.error
Nó thuộc về java.lang.Exception
3
Có thể khôi phục / Không thể khôi phục
Không thể khôi phục được
Nó có thể phục hồi được
4
Nó không thể xảy ra tại thời điểm biên dịch
Nó có thể xảy ra trong thời gian chạy thời gian biên dịch cả hai
5
Ví dụ
OutOfMemoryError, IOError
NullPointerException, SqlException

Ví dụ về Lỗi

public class ErrorExample {
   public static void main(String[] args){
      recursiveMethod(10)
   }
   public static void recursiveMethod(int i){
      while(i!=0){
         i=i+1;
         recursiveMethod(i);
      }
   }
}

Đầu ra

Exception in thread "main" java.lang.StackOverflowError
   at ErrorExample.ErrorExample(Main.java:42)

Ví dụ về Ngoại lệ

public class ExceptionExample {
   public static void main(String[] args){
      int x = 100;
      int y = 0;
      int z = x / y;
   }
}

Đầu ra

java.lang.ArithmeticException: / by zero
   at ExceptionExample.main(ExceptionExample.java:7)