一、 什么是异常
异常分为三大类,分别是:
检查性异常
运行时异常
错误
异常体系结构如下:
1. Error
- Error类对象由Java虚拟机生成并抛出,大多数错误与代码编写者所执行的操作无关。
- 可能是Java虚拟机执行错误,此时,JVM一般会终止线程;还有也可能会发生在虚拟机试图执行应用时,由它们在应用程序的控制和处理能力之外,这些错误是不可查的,且绝大多数程序运行时不允许出现这样的状况。
2. Exception
包括运行时异常与非运行时异常(检查性异常)两类。
这些异常一般是由程序逻辑错误引起(程序员自己引起),程序应从逻辑角度尽可能避免。
3. Error和Exception的区别
Error通常是灾难性的致命的错误,是程序无法控制和处理的,当出现这些异常时,Java虚拟机(JVM)一般会选择终止线程;
Exception通常情况下是可以被程序处理的,并且在程序中应该进可能的去处理这些异常。
以上内容整理自狂神课程,具体截图如下:
二、捕获和抛出异常
try...catch...finally...
catch可写多个,多个捕获时,从小到大来写;
建议在finally完成一些IO等资源的关闭等工作;
throw:主动抛出异常,一般在方法中使用;
throws:当方法处理不了某个异常时,可在方法上(方法名处)抛出异常
三、自定义异常
继承Exception类,实现构造器和toString等方法。
课程:【狂神说Java】Java零基础学习视频通俗易懂_哔哩哔哩_bilibili