自定义异常
本课属于 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
挑战
简单创建一个名为 EmailException 的自定义异常类,以及一个名为 validateEmail 的方法,该方法接受一个参数:
- 要验证的字符串(
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());
}
}
}这节课包含一个小测验。开始学习即可作答,并记录你的进度。
逻辑与流程中的所有课
自己练习: Java 在线编译器