1.自定义异常
2.自定义异常的格式
看你想要定义哪种异常,对应的继承哪种异常类
以我们之前写的代码举例,Exception类过于庞大,所有的异常子类都可以被它接收,这样就会导致无法精确捕获,所以我们要自定义异常
我们自定义一个学生年龄异常
定义了自己写的异常后,setAge里面抛出的也就应该是我们自己写的异常
上图中,我们发现代码报错了。这是因为我们自己写的异常类里是空的,而set方法里又使用的带参构造,所以报错
如图,在自定义异常里写带参构造,即可解决
.
3.异常的细节
1.printStackTrace
展示完整的异常错误信息,如下图
虽然还是暴露了异常,但是我们会发现后面的代码都执行了,所以该方法就只是展示异常错误信息
2.getMessage
将错误的原因展示,具体的信息都不会展示
.
3.子类重写父类方法的异常大小问题
.
多写了一个父类没有的异常,报错
.