Java异常
什么是异常
异常的分类
常见运行时异常
RuntimeException以及RuntimeException的子类属于运行时异常
Exception以及Exception子类(除了RuntimeException)都属于检查时异常
空指针异常
所有对象在没有赋值的时候使用,都会出现这个异常
数组越界异常
类型转换异常
格式化异常
算术异常
异常的产生
异常的传递
演示异常的产生与传递
异常的产生
异常的传递
异常处理关键字
try…catch…
try{…可能发生异常代码}
catch{…捕获异常,并处理异常}
有三种情况
1、程序正常,没有发生异常
2、发生异常,并捕获
3、发生异常,不能捕获
发生异常,并捕获 :
发生异常,不能捕获:
try…catch…finally
发生异常,可以捕获,执行finally
发生异常,不能捕获,执行finally
final有一种情况是不会执行的
但是,如果程序如果有异常,还是会执行finally
多重catch
结果1:
结果2:
结果3:
try…finally…
因此我们可以在main方法里捕获这个异常
总结异常处理
声明异常
有两种处理方式
1、处理异常
2、调用者也加上throws
抛出异常
抛出运行异常
抛出检查异常
自定义异常
1、继承Exception或Exception的子类
2、添加构造方法
ctrl + shift + s
使用自定义异常
方法覆盖
检查异常
不抛
抛个一样或者更小的
运行异常
运行异常就随便了