Menu
CoddyTech

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

challenge icon

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ố:

  1. 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());
        }
    }
}
quiz iconTự kiểm tra

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

Tự luyện tập: Trình biên dịch Java online