Ngoại lệ tùy chỉnh
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 43 trên 59.
Bạn có thể tạo lớp ngoại lệ riêng bằng cách kế thừa lớp Exception. Cách này hữu ích khi bạn cần xử lý các loại lỗi cụ thể trong ứng dụng.
Sau đây là cách tạo một ngoại lệ tùy chỉnh:
public class AgeException extends Exception {
public AgeException(String message) {
super(message);
}
}Và đây là cách sử dụng:
if (age < 0) {
throw new AgeException("Invalid age: " + age);
}Sau khi chạy đoạn code trên với age = -5, chương trình phát sinh ngoại lệ:
AgeException: Invalid age: -5
Thử thách
DễTạo một lớp ngoại lệ tùy chỉnh có tên EmailException và một phương thức có tên validateEmail nhận một đối số:
- Một chuỗi (
email) cần kiểm tra
Phương thức cần ném ngoại lệ tùy chỉnh của bạn với các thông báo sau:
- Nếu email là null: "Email cannot be null"
- Nếu email trống: "Email cannot be empty"
- Nếu email không chứa @: "Email must contain @"
- Nếu email không có văn bản nào trước @: "Email must have a local part"
- Nếu vượt qua bước kiểm tra: trả về "Valid email"
Tự làm thử
import java.util.Scanner;
class EmailException extends Exception {
public EmailException(String message) {
super(message);
}
}
public class Main {
public static String validateEmail(String email) throws EmailException {
// Viết code của bạn ở đây
}
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
String email = scanner.nextLine();
if (email.equals("null")) {
email = null;
}
try {
System.out.println(validateEmail(email));
} catch (EmailException 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