-
异常在java中以类的形式存在,每一个异常类都可以创建异常对象
-
异常的继承结构
-
编译时异常和运行时异常
- 编译时异常一般发生的概率比较高,需要在运行之前进行预处理
- 运行时异常发生的概率比较低,不需要预处理
- 所有异常都发生在运行阶段
-
java异常处理两种方式
- 在方法声明的位置上,使用throws关键字,抛给上一级,throws可以抛多个异常,用逗号隔开。方法体如果上报异常,那么此方法就结束。希望调用者处理的话就用throws。不建议在main方法上使用throws
- 使用try…catch语句进行异常捕捉,catch可以写多个,写多个的时候遵循从上到下从小到大原则
try{
语句;
执行到有异常的语句就会跳过下面的语句,直接执行下面catch的语句;
}catch(异常类 变量名){
捕捉异常后走的分支;
}
//jdk8之后catch支持用或的形式写多个,jdk7及更低版本不支持
catch(FileNotFoundException | ArithmeticException | NullPointerException e){
System.out.println("出现异常");
}