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