-
自定义异常
1. 当程序中出现Throwable的子类无法描述的“异常”时,可以自己创建一个异常类来描述该错误信息。
2. 自定义异常也是一个类,类名由程序员自己设计,继承Exception为编译时异常,继承RuntimeException为运行时异常(应用较多)。
3. 用法是 throw new 异常类名(参数列表)
4. 一般情况下都做成RuntimeException,因为这样可以默认向上抛出异常,不用再手动throws异常了。
public class Exception04 {
public static void main(String[] args) {
int age = 11;
if (!(age >= 18 && age <= 120)) {
throw new AgeException("年龄有误!");
}
System.out.println("程序继续执行... ");
}
}
class AgeException extends RuntimeException {
public AgeException(String message) {
super(message);
}
}
-
throws和throw的区别
1. throws 用来将异常抛给调用者,用法是:在方法声明后面加上异常类型,可以throws该异常的父类。但子类重写后,throws的异常类型应该更精确。
2. throw 用于在方法体手动new出自定义异常对象,用法是throw new 异常类名(参数列表)