1. 基本概念
- 当程序中出现了某些“错误”,但该错误信息并没有在
Throwable
子类中描述处理,这个时候可以自己设计异常类,用于描述该错误信息。
2. 自定义异常的步骤
- 定义类:自定义异常类名(程序员自己写的)继承
Exception
或RuntimeException
- 如果继承
Exception
,属于编译异常(程序员必须要处理的异常) - 如果继承
RuntimeException
,属于运行异常(一般继承RuntimeException
)
3. 自定义异常的应用实例
- 当接收
Person
对象年龄时,要求范围在18-120
之间,否则抛出一个自定义异常(要求继承RuntimeException
),并给出提示信息。
自定义异常
1. 一般情况下,自定义异常是继承 RuntimeException
2. 即把自定义异常当做 运行时异常,好处是:可以使用默认的处理机制
3. 即比较方便
public class CustomException {
public static void main(String[] args) {
int age = 1;
if (!(age >= 18 && age <= 120)) {
//这里可以通过构造器,设置异常信息
throw new AgeException("年龄需要在18-120之间");
}
System.out.println("你的年龄范围是正确的");
}
}
//自定义的异常
//1. 一般情况下,自定义异常是继承 RuntimeException
//2. 即把自定义异常当做 运行时异常,好处是:可以使用默认的处理机制
//3. 即比较方便
class AgeException extends RuntimeException {
public AgeException(String message) {//构造器
super(message);
}
}
输入在 18-120 之间后:
-
当自定义异常继承
Exception
时,AgeException
就是个编译异常,必须显示处理下,否则就会报错 -
所以,一般自定义异常继承
RuntimeException
,即把自定义异常当做 运行时异常,可以使用默认的处理机制。