创建自定义异常类需继承Exception或RuntimeException;2. 在方法中使用throw关键字抛出异常实例,若继承Exception需用throws声明;3. 调用时用try-catch捕获并处理异常,提供清晰错误信息。

在Java中抛出自定义异常,需要先创建一个自定义异常类,然后通过 throw 关键字抛出该异常实例。整个过程包括定义异常类和在代码中使用它。
1. 创建自定义异常类
Java中的异常类通常继承自 Exception(检查异常)或 RuntimeException(非检查异常)。根据是否需要强制处理,选择合适的父类。
示例:定义一个检查型自定义异常
public class InvalidAgeException extends Exception {
public InvalidAgeException() {
super();
}
public InvalidAgeException(String message) {
super(message);
}
}
如果你不需要强制调用者处理异常,可以继承 RuntimeException:
public class InvalidAgeException extends RuntimeException {
public InvalidAgeException(String message) {
super(message);
}
}
2. 抛出自定义异常
在业务逻辑中,使用 throw 关键字抛出你创建的异常实例。
立即学习“Java免费学习笔记(深入)”;
示例:在方法中抛出异常
public class Person {
private int age;
public void setAge(int age) throws InvalidAgeException {
if (age < 0 || age > 150) {
throw new InvalidAgeException("年龄不能为负数或超过150");
}
this.age = age;
}
}
注意:如果自定义异常继承自 Exception,方法必须用 throws 声明,调用者需处理;若继承自 RuntimeException,则可不声明。
3. 捕获并处理自定义异常
在调用可能抛出异常的方法时,使用 try-catch 块进行处理。
public class Main {
public static void main(String[] args) {
Person person = new Person();
try {
person.setAge(-5);
} catch (InvalidAgeException e) {
System.out.println("捕获异常:" + e.getMessage());
}
}
}
基本上就这些。定义、抛出、捕获,三步完成自定义异常的使用。关键是根据场景决定异常类型,并提供清晰的错误信息。










