Exception Trong Java - Tìm Hiểu Ví Dụ Của Ngoại Lệ Trong Java
Có thể bạn quan tâm
Mục lục
- Exception trong Java là gì?
- Ví dụ về Exception trong Java
- Nguyên nhân gây ra Exception trong Java
- Các loại ngoại lệ trong Java
- Ngoại lệ được kiểm tra trong Java
- Ngoại lệ không được kiểm tra trong Java
- Ngoại lệ số học trong Java
- Errors trong Java
- So sánh lỗi và ngoại lệ trong Java
- Cấu trúc phân cấp Exception trong Java
Ngoại lệ cũng bao gồm một số tình huống bất ngờ mà lập trình viên có thể gặp phải trong khi lập trình. Trong bài viết này, chúng ta sẽ thảo luận về ngoại lệ, Exception trong Java cũng với nguyên nhân gây ra ngoại lệ, các loại ngoại lệ trong Java.
Exception trong Java
Exception trong Java là gì?
Nhìn chung, exception trong Java đề cập đến một số mâu thuẫn hoặc tình huống bất ngờ, ngắn gọn là lỗi không mong muốn xảy ra trong quá trình thực thi chương trình. Lý do dẫn đến ngoại lệ là do một số tài nguyên không có sẵn hoặc phạm vi của một mảng không hợp lệ. Những loại tình huống bất thường này được gọi là ngoại lệ và cách xử lý chúng được gọi xử lý ngoại lệ.
Ví dụ về Exception trong Java
Một số ví dụ phổ biến về Exception trong Java là:
- Cố gắng truy cập các phần tử mảng có chỉ mục không hợp lệ
- Dữ liệu đầu vào không hợp lệ của người dùng
- Mở tệp không tồn tại
- Hết bộ nhớ
- Mất kết nối mạng
- JVM hết bộ nhớ
Nguyên nhân gây ra Exception trong Java
Một ngoại lệ trong Java xảy ra trong quá trình thực thi một chương trình. Ngoại lệ là các sự kiện không mong muốn xảy ra trong thời gian chạy và làm gián đoạn luồng thực thi chương trình bình thường.
Một số nguyên nhân của ngoại lệ có thể là:
- Bởi người dùng,
- Bởi lập trình viên,
- Hoặc do tài nguyên vật lý bị hỏng hoặc bị lỗi.
Các loại ngoại lệ trong Java
Có ba loại ngoại lệ trong Java. Đây là các trường hợp ngoại lệ được kiểm tra, chưa được kiểm tra và lỗi.
Ngoại lệ được kiểm tra trong Java
Khái niệm ngoại lệ được kiểm tra
Một ngoại lệ đã kiểm tra là một ngoại lệ thời gian biên dịch, tức là một trình biên dịch Java sẽ kiểm tra hoặc thông báo trong thời gian biên dịch. Chúng xảy ra trong thời gian biên dịch. Trình biên dịch kiểm tra các ngoại lệ đã kiểm tra trong quá trình biên dịch để kiểm tra xem liệu người lập trình đã viết mã để xử lý chúng hay chưa. Lập trình viên không thể đơn giản bỏ qua những ngoại lệ này và nên cẩn thận để xử lý những ngoại lệ này.
Nếu lập trình viên không viết mã để xử lý chúng thì sẽ xảy ra lỗi biên dịch. Phương thức ném một ngoại lệ đã kiểm tra cần phải chỉ định hoặc xử lý nó.
Một số loại ngoại lệ được kiểm tra
Một số ngoại lệ được kiểm tra là SQLException, IOException, ClassNotFoundException, InvocationTargetException, …
Ví dụ: Nếu chúng ta viết một chương trình để đọc dữ liệu từ một tệp bằng lớp FileReader và nếu tệp không tồn tại thì FileNotFoundException sẽ xuất hiện.
SQLException
Loại ngoại lệ này xảy ra khi người dùng cố gắng thực hiện các truy vấn không hợp lệ trên cơ sở dữ liệu và có lỗi truy cập cơ sở dữ liệu.
IOException
Loại ngoại lệ này xảy ra khi JVM không mở được tệp luồng I / O.
ClassNotFoundException
Loại ngoại lệ này xảy ra khi JVM không thể tìm thấy lớp được yêu cầu. Nó có thể xảy ra khi một lớp bị xóa khỏi CLASSPATH.
>>> Tham khảo: Java loop - Tìm hiểu tổng quan về Vòng lặp Loop trong Java
Ngoại lệ không được kiểm tra trong Java
Khái niệm ngoại lệ không được kiểm tra
Một ngoại lệ xảy ra trong quá trình thực thi một chương trình được gọi là ngoại lệ không được kiểm tra hoặc thời gian chạy. Không giống như các ngoại lệ đã được kiểm tra, trình biên dịch thường bỏ qua các ngoại lệ này trong quá trình biên dịch đúng hơn, chúng được kiểm tra trong thời gian chạy.
Do đó, trình biên dịch không kiểm tra xem lập trình viên đã viết mã để xử lý chúng hay chưa mà trách nhiệm của lập trình viên là xử lý các ngoại lệ chưa được kiểm tra và cung cấp lối thoát an toàn.
Ví dụ về ngoại lệ không được kiểm tra
Ví dụ, nếu một chương trình cố gắng chia một số cho không. Hoặc, khi có một hoạt động số học bất hợp pháp, sự kiện bất khả thi này tạo ra một ngoại lệ thời gian chạy.
Giả sử, chúng ta khai báo một mảng có kích thước 10 trong một chương trình và cố gắng truy cập vào phần tử thứ 12 của mảng hoặc với chỉ số âm như -5, thì chúng ta nhận được một ngoại lệ ArrayIndexOutOfBounds.
Một số ngoại lệ không được kiểm tra là ArithmeticException, NullPointerException, ArrayIndexOutOfBoundsException, NumberFormatException, InputMismatchException, IllegalStateException, v.v. Chúng ta sẽ thảo luận về từng trường hợp chúng với một ví dụ.
Ngoại lệ số học trong Java
Loại ngoại lệ này xảy ra khi người dùng cố gắng thực hiện một hoạt động số học không chính xác trong chương trình. Ví dụ, nếu bạn chia bất kỳ số nào cho số 0, thì sẽ có một Ngoại lệ số học. Hãy để cùng xem xét đoạn mã sau:
package com.techvidvan.exceptions; public class UnCheckedExceptions { public static void main(String args[]) { int number1 = 10; int number2 = 0; //Arithmetic Exception int result = number1/number2; System.out.println("Result of 10/0 is: " + result); } }Output
Exception in thread “main” java.lang.ArithmeticException: / by zero at project1/com.techvidvan.exceptions.UnCheckedExceptions.main(UnCheckedExceptions.java:10)>>> Tham khảo: Khóa học lập trình Java
Errors trong Java
Lỗi không phải ngoại lệ nhưng có thể được coi như một loại ngoại lệ. Lỗi là một sự cố hoặc tình huống nghiêm trọng mà người dùng hoặc nhà phát triển không thể khôi phục. Nguyên nhân của Lỗi trong Java là khi người dùng bỏ qua mã hoặc hiếm khi quan tâm đến lỗi. Ví dụ, nếu một hàng đợi đã đầy và xảy ra tràn, lỗi sẽ xuất hiện.
Một số lỗi trong Java là VirtualMachineError, OutOfMemoryError, AssertionError, v.v.
So sánh lỗi và ngoại lệ trong Java
Lỗi
Lỗi chỉ ra một điều kiện không thể phục hồi và do đó không thể viết code nếu không bắt lỗi. Lỗi thường khiến JVM hiển thị thông báo và thoát.
Ngoại lệ
Ngoại lệ là điều kiện có thể phục hồi mà một chương trình có thể cố gắng xử lý.
Cấu trúc phân cấp Exception trong Java
Dưới đây là sơ đồ phân cấp ngoại lệ trong Java. Lớp có thể ném là lớp cha của tất cả các lớp Lỗi và Ngoại lệ . Đối tượng Lỗi mô tả các lỗi nội bộ không thể giải quyết được, ví dụ như cạn kiệt tài nguyên, … Đối tượng Ngoại lệ mô tả lỗi có thể khôi phục mà lập trình viên nên xử lý đúng cách.
Cấu trúc phân cấp Exception trong Java
Kết luận: Trong bài viết này chúng ta đã tìm hiểu về Exception trong Java. Hy vọng qua bài viết này bạn đã hiểu rõ về ngoại lệ trong Java. Cùng tìm hiểu về Java trong các bài viết tiếp theo và đừng quên tham khảo các khóa học lập trình tại T3H để mở rộng kiến thức về các ngôn ngữ lập trình bạn nhé!
Nguồn tham khảo: techvidvan
Từ khóa » Exception (ngoại Lệ) Là Gì
-
Exception - Ngoại Lệ Trong Java
-
Exception Là Gì? Tổng Quan Về Exception Trong Java | TopDev
-
Xử Lý Ngoại Lệ Trong Java - Học Java Miễn Phí Hay Nhất - VietTuts
-
05 Điều Cần Biết Về Java Exception - CodeLearn
-
Xử Lý Ngoại Lệ Trong Java (Exception Handling) - GP Coder
-
[PDF] Ngoại Lệ Và Xử Lý Ngoại Lệ - Soict
-
Xử Lý Ngoại Lệ (handling Exceptions) - Trần Ngọc Minh Notes
-
Ngoại Lệ Và Cách Xử Lý Ngoại Lệ Trong Java - Techmaster
-
Các Loại Ngoại Lệ (exceptions) Trong Java - Góc Học IT
-
Java: Ngoại Lệ Là Gì? | V1Study
-
Ngoại Lệ Và Xử Lý Ngoại Lệ Trong Java - Thủ Thuật
-
Xử Lý Ngoại Lệ Trong Java - Viblo
-
Sự Khác Biệt Giữa Lỗi Và Ngoại Lệ Trong Java
-
Exception Là Gì, Nghĩa Của Từ Exception