Các loại ngoại Lệ trong Java ~ Thứ mà mọi Dev Java cần biết để tránh lỗi không mong luốn
Trong Java có 2 kiểu ngoại lệ đó là Ngoại lệ không được kiểm tra và Ngoại lệ được kiểm tra
-Từ "kiểm tra" ở đây có nghĩa ai kiểm tra? kiểm tra như nào ? Thì chính thằng trình biên dịch sẽ kiểm tra và kiểm tra là bạn đã có đoạn code xử lí lỗi (try-catch) cho các ngoại lệ được kiểm tra hay chưa , nghe cấn nhỉ nhưng hãy thử nhớ lại xem đôi khi bạn làm 1 tác vụ nào đó : ví dụ chuỗi hóa đối tượng ra file thì kiểu gì trình biên dịch cũng báo đỏ là và bảo là Unhandle exception type of FileNotFoundException hay IOException , trình biên dịch nó đọc code biết rằng ngoại lệ này được đối tượng nào mà bạn dùng có thể bắn ra lỗi "được kiểm tra" thì nó bắt bạn phải xử lí để nếu có lỗi .Vậy
Ngoại lệ không được kiểm tra sẽ là những ngoại lệ mà trình biên dịch không quan tâm ai ném, đã có đoạn code xử lí lỗi hay chưa , mà người lập trình phải chủ động kiểm soát lỗi : đó là những ngoại lệ RunTimeException hay các lớp dẫn xuất của lớp này như : ArthmeticException , InputMisMatchException, NullPointerException, ArrayIndexOutOfBoundsException : đây toàn là các lỗi cực kì phổ biến khi run-time mà kiểu gì bạn cũng gặp rất nhiều lần rồi . Đây là những lỗi mà ta phải tự kiểm soát không cho phép nó xảy ra (thường do lỗi logic trong code) nên trình biên dịch sẽ không can thiệp , không nên thêm những khối try-catch để bắt những lỗi này gây đánh đổi hiệu năng ...
Ngoại lệ được kiểm tra là những đối ngoại lệ còn lại nghĩa là không thuộc RuntimeException : đó thường là những lỗi khó kiểm soát ví dụ như FileNotFoundException , SQLException : Ví dụ khi mở 1 file thì không thể đảm bảo file đó tồn tại hay không , hay là khi kết nối với cơ sở dữ liệu thì không đảm bảo lúc nào cũng ổn định và kết nối thành công => Ta bắt buộc phải đặt những đoạn code có nguy cơ xảy ra những lỗi kiểu này vào trong khối try-catch để xử lí .
All rights reserved