异常
1、概念
程序出现不正常的情况
2、异常体系(掌握)
Throwable
|—Error 严重的错误,比如硬件坏了
|—Exception
|—RuntimeException 运行时异常,不需要处理,需要改代码
|—非RuntimeException 编译时异常,需要处理
注意:
每种体系的子类都是以父类的名称作为后缀
XxxError
XxxException
3、JAVA虚拟机的默认处理方式
把异常的类名,原因,位置等信息显示在控制台
一旦有异常发生,其后的代码不能继续执行
4、异常的解决方案(掌握)
A:自己处理
基本格式
try{
可能发生异常的代码;
}catch(异常类名 变量名){
异常的处理代码;
}finally{
释放资源的代码;
}
变形格式
try..catch
try..catch..catch
try..catch..catch..finally
try..finally
注意:
不能写成 try{}单独存在
JDK1.7针对多个catch做了优化
try{
可能发生的异常代码;
}catch(异常1 | 异常2 | 异常3){//注意,这些异常必须是平级关系
}finally{
}
B、声明异常
用throws关键字在方法上声明异常
注意:throws应该叫声明,有些人叫抛出,这么叫是不准确的
throw是抛出
C、自定义异常
1、写一个普通类,继承RuntimeException(运行时)或者继承Exception(编译)
2、写构造方法,一个有参的,一个无参的
5、到底应该选用谁?
a、能自己处理的就自己处理
b、不能自己处理的就抛出
|
|