Ném ngoại lệ
Thuộc phần Logic và luồng chương trình trong hành trình Java của Coddy. Bài học 42 trên 59.
Từ khóa throw trong Java cho phép bạn chủ động ném một ngoại lệ. Đây là cấu trúc cơ bản:
throw new ExceptionType("Error message");Các thành phần gồm:
throw: Từ khóa dùng để ném ngoại lệnew ExceptionType: Tạo một ngoại lệ mới (chẳng hạn như IllegalArgumentException)"Error message": Mô tả lỗi đã xảy ra
Hãy xem cách hoạt động:
int age = -5;
if (age < 0) {
throw new IllegalArgumentException("Age cannot be negative");
}Sau khi chạy đoạn code trên, chương trình đưa ra ngoại lệ:
IllegalArgumentException: Age cannot be negative
Thử thách
DễTạo phương thức có tên validateAge nhận hai đối số:
- Một số nguyên (
age) cần kiểm tra - Một giá trị boolean (
strict) xác định các quy tắc kiểm tra
Phương thức sẽ ném ngoại lệ theo các quy tắc sau:
- Nếu age là số âm: ném IllegalArgumentException với thông báo "Age cannot be negative"
- Nếu age lớn hơn 150: ném IllegalArgumentException với thông báo "Age cannot be greater than 150"
- Nếu strict là true và age bằng 0: ném IllegalArgumentException với thông báo "Age cannot be zero in strict mode"
- Nếu không có ngoại lệ nào được ném: trả về age dưới dạng chuỗi
Tự làm thử
import java.util.Scanner;
public class Main {
public static String validateAge(int age, boolean strict) {
// Viết code của bạn ở đây
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int age = Integer.parseInt(scanner.nextLine());
boolean strict = Boolean.parseBoolean(scanner.nextLine());
try {
System.out.println(validateAge(age, strict));
} catch (IllegalArgumentException e) {
System.out.println(e.getMessage());
}
}
}Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Logic và luồng chương trình
1Mảng đa chiều
Kiến thức cơ bản về mảng 2DTruy cập phần tử trong mảng 2DVòng lặp lồng nhau với mảng 2DÔn tập về mảng 2DPhép cộng và phép trừ ma trậnMảng không đềuMảng 3D trở lênCác mẫu thường gặp với mảng 2DÔn tập về mảng2HashMap phần 1
HashMap là gì?Khai báo HashMapTruy cập giá trịKiểm tra khóa có tồn tạiChỉnh sửa từ điểnÔn tập: HashMapTự luyện tập: Trình biên dịch Java online