2022-08-01 第六小组 高佳誉 学习笔记
异常
重点
- 常见异常
- 体系结构
- 异常处理
思维导图

知识点
1.常见异常
编译期异常:
类,IO,拦截,转换,数据格式化
运行期异常:
空指针,数组下标越界,类型转换,非法参数,算数异常

2.体系结构
最顶级的Throwable:错误,异常
Error:正常情况下,不太可能出现,绝大多数Error都会导致程序处于一个非正常的状态下, 基本上很难恢复。在外力的作用下,不考虑。Error是Throwable的子类,它是在Java 程序处理范围之外的
Exception:在Java语言中,将程序执行中发生的不正常的情况称之为异常。Exception也是 Throwable的子类。
编译期异常:写代码的时候,抛异常。如果编译器不解决,会编译不通过,checked
运行期异常:RuntimeException,运行时会抛异常,平时没事
3. 自定义异常
Java中异常机制虽然很完善,但是结合实际业务还差很多。
年龄出现负数需要自定义异常、电商搜索乱码需要自定义异常
怎么自定义异常?
1.所有的异常必须是Throwable的子类(大材小用,没必要)
2.如果要定义一个编译期异常,需要继承Exception类
3.如果要定义一个运行期异常,需要继承RuntimeException类
4. throws
如果一个方法没有捕获一个编译期异常,该方法必须使用throws来声明
(1)在方法里直接try ... catch解决
(2)在方法里抛异常给主函数,在主函数里try ... catch解决
规定:主方法里不允许继续往下抛异常
throws并不是真正的解决了异常,只是把异常抛给了下一级调用者。

5. 异常链
一个异常被抛出去之后会继续被调用这个方法的方法捕获或抛出,异常会扩散
只要说解决异常、处理异常、捕获异常就是try ... catch
掌握程度
异常的抛出完全掌握,但是自定义异常的使用还是不太理解。 自我建议:向老师请教
收获
坐而言不如起而行
学习效果展示


浙公网安备 33010602011771号