Menu
CoddyTech

自定义异常

本课属于 Coddy Java 学习旅程的“逻辑与流程”单元。第 43 课,共 59 课。

你可以通过扩展 Exception 类来创建自己的异常类。当你需要处理应用程序中的特定类型错误时,这会很有用。

以下是创建自定义异常的方法:

public class AgeException extends Exception {
   public AgeException(String message) {
       super(message);
   }
}

下面介绍如何使用它:

if (age < 0) {
   throw new AgeException("Invalid age: " + age);
}

将 age = -5 代入上述代码运行后,程序会抛出:

AgeException: Invalid age: -5

challenge icon

挑战

简单

创建一个名为 EmailException 的自定义异常类,以及一个名为 validateEmail 的方法,该方法接受一个参数:

  1. 要验证的字符串(email)

该方法应抛出自定义异常,并使用以下消息:

  • 如果 email 为 null:"Email cannot be null"
  • 如果 email 为空:"Email cannot be empty"
  • 如果 email 不包含 @:"Email must contain @"
  • 如果 email 在 @ 前不包含任何文本:"Email must have a local part"
  • 如果验证通过:返回 "Valid email"

亲手试试

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 {
        // 在这里编写你的代码
    }
    
    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 icon自我测试

这节课包含一个小测验。开始学习即可作答,并记录你的进度。

逻辑与流程中的所有课

自己练习: Java 在线编译器