ngoại lệ của Java

Trong hướng dẫn này, chúng ta sẽ tìm hiểu về các ngoại lệ trong Java. Chúng tôi sẽ đề cập đến các lỗi, ngoại lệ và các loại ngoại lệ khác nhau trong Java.

Ngoại lệ là một sự kiện không mong muốn xảy ra trong quá trình thực hiện chương trình. Nó ảnh hưởng đến luồng hướng dẫn chương trình có thể khiến chương trình kết thúc bất thường.

Một ngoại lệ có thể xảy ra vì nhiều lý do. Một số trong số đó là:

  • Invalid user input
  • Device failure
  • Loss of network connection
  • Physical limitations (out of disk memory)
  • Code errors
  • Opening an unavailable file

Phân cấp ngoại lệ Java

Đây là một sơ đồ đơn giản hóa của hệ thống phân cấp ngoại lệ trong Java.

Như bạn có thể thấy từ hình trên, Throwablelớp là lớp gốc trong hệ thống phân cấp.

Lưu ý rằng hệ thống phân cấp chia thành hai nhánh: Lỗi và Ngoại lệ.

Lỗi

Các lỗi đại diện cho các điều kiện không thể khôi phục như máy ảo Java (JVM) hết bộ nhớ, rò rỉ bộ nhớ, lỗi tràn ngăn xếp, không tương thích thư viện, đệ quy vô hạn, v.v.

Lỗi thường nằm ngoài tầm kiểm soát của lập trình viên và chúng ta không nên cố gắng xử lý lỗi.

Ngoại lệ

Các ngoại lệ có thể được chương trình bắt và xử lý.

Khi một ngoại lệ xảy ra trong một phương thức, nó sẽ tạo ra một đối tượng. Đối tượng này được gọi là đối tượng ngoại lệ.

Nó chứa thông tin về ngoại lệ như tên và mô tả của ngoại lệ và trạng thái của chương trình khi ngoại lệ xảy ra.

Chúng ta sẽ tìm hiểu cách xử lý các ngoại lệ này trong hướng dẫn tiếp theo. Trong hướng dẫn này, bây giờ chúng ta sẽ tập trung vào các loại ngoại lệ khác nhau trong Java.

Các loại ngoại lệ trong Java

Hệ thống phân cấp ngoại lệ cũng có hai nhánh: RuntimeExceptionvà IOException.

1. RuntimeException

Một ngoại lệ thời gian chạy xảy ra do lỗi lập trình. Chúng còn được gọi là các trường hợp ngoại lệ không được kiểm tra .

Các ngoại lệ này không được kiểm tra tại thời điểm biên dịch mà là thời gian chạy. Một số ngoại lệ thời gian chạy phổ biến là:

  • Improper use of an API – IllegalArgumentException
  • Null pointer access (missing the initialization of a variable) – NullPointerException
  • Out-of-bounds array access – ArrayIndexOutOfBoundsException
  • Dividing a number by 0 – ArithmeticException

Bạn có thể nghĩ về nó theo cách này. “Nếu đó là một ngoại lệ thời gian chạy, đó là lỗi của bạn”.

Các NullPointerExceptionsẽ không xảy ra nếu bạn đã kiểm tra xem biến được khởi tạo hay không trước khi sử dụng nó.

An ArrayIndexOutOfBoundsExceptionsẽ không xảy ra nếu bạn kiểm tra chỉ số mảng so với các giới hạn của mảng.

2. IOException

An IOExceptioncòn được gọi là một ngoại lệ đã kiểm tra . Chúng được trình biên dịch kiểm tra tại thời điểm biên dịch và lập trình viên được nhắc xử lý các ngoại lệ này.

Một số ví dụ về các trường hợp ngoại lệ đã kiểm tra là:

  • Trying to open a file that doesn’t exist results in FileNotFoundException
  • Trying to read past the end of a file

Bây giờ chúng ta đã biết về các ngoại lệ, chúng ta sẽ tìm hiểu về cách xử lý các ngoại lệ trong hướng dẫn tiếp theo.









Xem tìm kiếm...