06/04/2021, 14:47

hrow exception trong Java - Học Java core - từ cơ bản đến nâng cao

Trong bài này chúng ta sẽ tìm hiểu cách sử dụng từ khóa throw trong Java. Java đã định nghĩa sẵn các class exception như ArithaturesException, NullPulumException, hay ArrayIndexOutOfBound,..v..v.. Những exception này được dùng để catch các trường hợp khác nhau. ...

Trong bài này chúng ta sẽ tìm hiểu cách sử dụng từ khóa throw trong Java.

Java đã định nghĩa sẵn các class exception như ArithaturesException, NullPulumException, hay ArrayIndexOutOfBound,..v..v.. Những exception này được dùng để catch các trường hợp khác nhau.

Ví dụ: khi chúng ta chia một số cho 0, exception ArithaturesException sẽ được ném ra (throw), hoặc là khi chúng ta cố gắng truy cập phần tử của mảng mà phần tử đó không nằm trong giới hạn của nó thì chúng ta sẽ nhận được exception ArrayIndexOutOfBoundException.

Chúng ta có thể ném một exception bằng cách sử dụng từ khóa throw.

Ví dụ: chúng ta có thể throw exception ArithaturesException khi chúng ta chia số cho 5 hoặc bất kỳ số nào khác, bạn chỉ cần đặt điều kiện và throw bất cứ exception nào bạn thích.

1. Cú pháp của từ khóa throw trong Java

Bạn có thể ném một throw bằng cách sử dụng cú pháp dưới đây.

throw new exception_class("error message");

Ví dụ:

throw new ArithmeticException("dividing a number by 5 is not allowed in this program");

2. Ví dụ về từ khóa throw trong Java

Giả sử chúng ta đang cần chọn các học sinh có tuổi trên 12 hoặc cân nặng trên 40 để tham dự giải hội thao, nếu bất kỳ điều kiện nào kể trên không được đáp ứng thì từ chối học sinh đó, lúc đó ta sẽ throw ArithmeticException với cảnh báo "Student is not eligible for registration".

Chúng ta kiểm tra bằng method checkEligibilty(int stuage, int stuweight) bên dưới.

/* In this program we are checking the Student age
 * if the student age<12 and weight <40 then our program 
 * should return that the student is not eligible for registration.
 */
public class ThrowExample {
   static void checkEligibilty(int stuage, int stuweight){ 
      if(stuage<12 && stuweight<40) {
         throw new ArithmeticException("Student is not eligible for registration"); 
      }
      else {
         System.out.println("Student Entry is Valid!!"); 
      }
   } 

   public static void main(String args[]){ 
     System.out.println("Welcome to the Registration process!!");
     checkEligibilty(10, 39); 
     System.out.println("Have a nice day.."); 
 } 
}

Output:

Welcome to the Registration process!!Exception in thread "main" 
java.lang.ArithmeticException: Student is not eligible for registration
at beginnersbook.com.ThrowExample.checkEligibilty(ThrowExample.java:9)
at beginnersbook.com.ThrowExample.main(ThrowExample.java:18)

Trong ví dụ trên, chúng ta đã tự throw ra một unchecked exception, loại exception này được bỏ qua trong quá trình biên dịch, không bắt buộc ta phải xử lí nó. Bạn cũng có thể throw một user-defined exception bằng cách tương tự như ví dụ trên.

Trong trường hợp bạn chưa biết user-defined exception là gì, xin mời bạn đọc qua bài viết tiếp theo để hiểu rõ hơn.

Bùi Văn Nam

27 chủ đề

7090 bài viết

Cùng chủ đề
0