Java throw

Giới thiệu về Java throw

Trong ngôn ngữ lập trình Java, từ khóa throw được sử dụng để ném một ngoại lệ (exception) một cách thủ công. Điều này cho phép lập trình viên kiểm soát quá trình xử lý lỗi một cách linh hoạt hơn bằng cách ném các đối tượng ngoại lệ tại những điểm cụ thể trong mã nguồn.

Định nghĩa

Trong Java, ngoại lệ là một sự kiện không bình thường xảy ra trong quá trình thực thi chương trình, và nó có thể dẫn đến việc chương trình dừng lại nếu không được xử lý. Từ khóa throw được dùng để ném một đối tượng ngoại lệ cụ thể. Khi một ngoại lệ được ném, nó sẽ được chuyển đến các khối catch để xử lý.

Cú pháp

Cú pháp đơn giản cho việc sử dụng throw như sau:

throw new ExceptionType("Message");

Trong đó ExceptionType là loại ngoại lệ mà bạn muốn ném (ví dụ: IllegalArgumentException, NullPointerException, v.v.) và "Message" là thông điệp mô tả lý do ngoại lệ xảy ra.

Ví dụ về Java throw

Ví dụ 1: Ném một ngoại lệ đơn giản

public class DemoThrow {
    public static void checkAge(int age) {
        if (age < 18) {
            throw new IllegalArgumentException("Tuổi phải lớn hơn hoặc bằng 18.");
        } else {
            System.out.println("Chúc mừng! Bạn đủ tuổi.");
        }
    }

    public static void main(String[] args) {
        checkAge(15); // Gọi phương thức với giá trị tuổi là 15
    }
}

Trong ví dụ này, nếu người dùng nhập tuổi nhỏ hơn 18, phương thức checkAge sẽ ném một ngoại lệ IllegalArgumentException.

Ví dụ 2: Xử lý ngoại lệ ném ra

public class HandleThrow {
    public static void checkBalance(int balance) {
        if (balance < 0) {
            throw new ArithmeticException("Số dư không thể âm.");
        } else {
            System.out.println("Số dư của bạn là: " + balance);
        }
    }

    public static void main(String[] args) {
        try {
            checkBalance(-500); // Gọi phương thức với số dư âm
        } catch (ArithmeticException e) {
            System.out.println("Ngoại lệ được ném ra: " + e.getMessage());
        }
    }
}

Ở đây, khi phương thức checkBalance ném ra một ngoại lệ, nó sẽ được xử lý trong khối try-catch, và thông điệp ngoại lệ sẽ được in ra màn hình.

Kết luận

Tóm lại, từ khóa throw trong Java là công cụ hữu ích để quản lý lỗi và ngoại lệ. Việc ném ngoại lệ cho phép lập trình viên kiểm soát luồng thực thi của chương trình, từ đó tạo ra mã nguồn an toàn và dễ bảo trì hơn.