RuntimeException以及RuntimeException的子类属于运行时异常
Exception以及Exception子类(除了RuntimeException)都属于检查时异常
所有对象在没有赋值的时候使用,都会出现这个异常
异常的产生
异常的传递
try{…可能发生异常代码}
catch{…捕获异常,并处理异常}
有三种情况
1、程序正常,没有发生异常
2、发生异常,并捕获
3、发生异常,不能捕获
发生异常,并捕获 :
发生异常,不能捕获:
发生异常,可以捕获,执行finally
发生异常,不能捕获,执行finally
final有一种情况是不会执行的
但是,如果程序如果有异常,还是会执行finally
结果1:
结果2:
结果3:
因此我们可以在main方法里捕获这个异常
有两种处理方式
1、处理异常
2、调用者也加上throws
抛出运行异常
抛出检查异常
1、继承Exception或Exception的子类
2、添加构造方法
ctrl + shift + s
使用自定义异常
不抛
抛个一样或者更小的
运行异常就随便了