Trong quá trình học tập, nghiên cứu hay trong những bài phỏng vấn về ngôn ngữ Java. Việc xử lý Exception là một vấn đề vô cùng quan trọng, nó giúp chúng ta có thể hoàn thiện, tối ưu một chương trình Java. Theo dõi bài viết của chúng tôi để hiểu rõ hơn Exception là gì bạn nhé!
Tóm Tắt
Exception là gì?
Trong từ điển, ý nghĩa của Exception chính là thực trạng không bình thường .
Đối với lập trình Java, Exception được định nghĩa là một sự kiện mà phá vỡ luống chuẩn của chương trình. Nó là một đối tượng được ném tại Runtime. Một ngoại lệ trong Java là một vấn đề được xảy ra trong quá trình thực hiện chương trình. Một ngoại lệ có thể xảy ra với vô số những lý do khác nhau, ví dụ như:
-
Người sử dụng nhập dữ liệu không hợp lệ
- Một file cần mở nhưng không thể nào tìm được thấy
- Kết nối mạng bị ngắt trong quy trình thực thi tiếp xúc cũng như JVM hết bộ nhớ .
Một vài những ngoại lệ đã xảy ra lỗi bởi lỗi của người dùng, 1 số ít khác bởi lỗi của những lập trình viên và số khác nữa lại đến từ lỗi của nguồn tài liệu vật lý .Để hiểu hơn về cách giải quyết và xử lý ngoại lệ trong Java, bạn cần phải hiểu những loại Exception như sau :
Checked Exception
Đây là một ngoại lệ liên tục xảy ra do người dùng mà không thể nào lường trước được bởi những lập trình viên. Ví dụ như một file được mở, nhưng file đó không thể nào tìm thấy và ngoại lệ xảy ra. Những ngoại lệ này không hề được bỏ lỡ trong quy trình biên dịch được. Checked Exception là những lớp mà kế SQL Exception, IOException, …. Checked Exception được kiểm tra ngay tại thời gian biên dịch compile-time .
Unchecked Exception
Là một ngoại lệ xảy ra ở runtime, ngoại lệ hoàn toàn có thể tránh được bởi lập trình. Unchecked Exception là những lớp thừa kế của RuntimeException. Ví dụ như NullPointerException, NullPointerException, ArrayIndexOutOfBoundsException, …. Nếu Unchecked Exception không được kiểm tra tại compile – time, thì thay vào đó chúng sẽ được kiểm tra tại runtime .
Error
Không giống với những exception khác, yếu tố xảy ra ở đây là việc vượt quá tầm trấn áp của những lập trình viên hoặc người sử dụng. Error được bỏ lỡ trong code của bạn vì bạn hiếm khi hoàn toàn có thể làm được gì đó khi chương trình bị error. Ví dụ như AssertionError, VirtualMachineError, OutOfMemoryError, … Nó được bảo vệ trong quy trình mà Java biên dịch .
Exception Handling
Là một kỹ thuật xử lý các Runtime Error như IO, SQL, ClassNotFound, Remote,… Lợi thế chính của việc xử lý ngoại lệ này là để duy trì luồng chuẩn của ứng dụng. Exception thường phá vỡ luống chuẩn của ứng dụng và đó là một trong những lý do tại sao chúng ta nên sử dụng Exception Handling.
Có thể bạn quan tâm:
Exception có cấp bậc như thế nào trong Java
Tất cả những lớp ngoại lệ đều là những lớp con của lớp java.lang. Exception. Lớp ngoại lệ là lớp con của lớp Throwable. Mỗi một loại lớp ngoại lệ khác Error cũng là lớp con của lớp Throwable. Error không thường được đặt bẫy bởi những chương trình Java. Error thường sẽ được tạo ra để bộc lộ lỗi trong thiên nhiên và môi trường runtime. Ví dụ như JVM hết bộ nhớ, thường thì thì những chương trình không thể nào Phục hồi được từ những lỗi .
Lớp ngoại lệ được chia làm 2 lớp chính đó là : IOException và RuntimeException .
Làm sao để phân biệt Error và Exception
Error là một lỗi nghiêm trọng so với mạng lưới hệ thống, trong trường hợp này mạng lưới hệ thống nên bị crash hơn là việc tất cả chúng ta nỗ lực sửa lỗi
Exception đơn thuần chỉ là chỉ ra những trường hợp mà chương trình không hề giải quyết và xử lý được do dữ kiện sai hoặc gặp những yếu tố trong việc liên kết etc. Exception nên được try-catch và giải quyết và xử lý ngay tại thời gian run-time .
Một số phương thức phổ biến của lớp Exceptions trong Java
Dưới đây là 1 số ít list những phương pháp phổ cập nhất của lớp Throwable trong Java :
-
public String getMessage(): Trả về message cụ thể với ngoại lệ đã xảy ra. Message này được khởi tạo bởi những phương thức constructor của Throwable.
-
public Throwable getCause(): Trả lại nguyên nhân xảy ra exception biểu diễn bởi đối tượng Throwable
-
public String toString(): Trả lại tên của lớp và kết hợp với kết quả của phương thức get Message()
-
public void printStackTrace(): In ra những kết quả của phương thức toString cùng với stack trace đến System.err.
Trên đây là 1 số ít thông tin về Exception mà chúng tôi muốn san sẻ đến bạn trong ngày thời điểm ngày hôm nay. Mong rằng qua bài viết này bạn sẽ hiểu rõ hơn Exception là gì ? Hãy liên hệ với chúng tôi nếu bạn có bất kể câu hỏi hoặc những vướng mắc tương quan đến Exception bạn nhé !
Source: https://final-blade.com
Category : Kiến thức Internet