一 .异常
异常:由于程序员编码失误导致的,可以通过修改编码来避免
类结构:
Throwable:是所有异常和错误的超类
Error:是所有错误的超类,由于环境因素等不可控情况导致的
Exception:是所有异常的超类
二.异常分类
1.运行时异常:RuntimeException:是所运行时异常的超类,jvm自动处理运行时异常(中断线程,抛出异常)
运行时异常一般由于程序员经验不足经常才导致,出现频率很高的异常
2.非运行时异常:由程序员自行处理
三.自定义异常
1.定义异常类
2.继承Exception(非运行时异常) 继承RuntimeException(运行时异常)
3.在出现异常的位置抛出异常类对象 throw 异常类对象
四.处理异常的方式:
1.不负责任,抛出给上级处理
方法名() throws 异常类1,异常类2…….
声明异常类的个数与实际可能抛出的异常种类个数无关
2.负责人,自己处理异常
try{
可能出现出现的异常代码
}catch(异常 引用类A ){
如果出现A类异常,对应异常的处理代码
}catch(){
}
1.try内的代码,从出现异常的位置,跳出到catch
2.try catch分支中出现了异常,不影响整个线程的运行
3.当final中有return语句时会吞掉未处理的异常(不建议)