java中异常的分类和结构图
什么是Java异常
java异常就是程序在正常运行时可能会出现的问题,分为运行时异常和受检异常 对比:Error是不经常发生的,但是发生了就不能恢复,不能捕获,不能通过coding处理
运行时异常: 可以被预料,可以通过coding处理,一旦发生,后面的代码就不会运行了
受检异常: 无法预料,因为外界环境引起的,只能在编译前被捕获或者抛出,无法通过coding处理
异常的处理方法
运行时异常我们是不需要抛出的,受检异常我们必须 在编译前进行处理,但是运行时异常一旦发生后面的代码就不会运行了,因为没有处理这个异常,就会一直上抛,抛到主线程
- 处理方法1–甩锅,使用throws关键字跟在方法的后面表示对异常向上抛出
一直抛到主线程程序就会崩溃
void test(int k) throws IOException{
if(k<0){
throw new IOException();
}
}
void test(int k){
if(k<0){
try{
throw new IOException();
}catch(Exception e){
}finally{
}
}
}
异常处理原则
- 尽量不要直接处理大类,要处理细致的类 ,然后可以依次catch到大类
- 尽量不要生吞代码,要将这种异常抛出来,否则发生了这种错误都不清楚
- 防止滥用异常
|