假设要捕获(catch)多个异常: 范围是从小到大 ! 只会catch一个异常
try{//监控区域
}
catch(异常类型){//捕获异常
}finally{//善后处理
}
//finally可以不要 , 假设IO 关闭资源可以用finally善后处理关闭
throw throws
throw用在方法体里 可以直接捕获异常,下面的代码就不会执行了 如:if(a==0){throw new ArithmeticException();}
throws用在方法括号后面 如:public void test() throws ArithmeticException{...} 往调用者抛出去,让调用的地方try catch它,也可以继续往上抛
throws 如果抛出了Exception 就必须需要在调用地方try catch它,要不然就继续throws给jvm去解决
throws抛出去的异常类型 catch的时候 需要比它大,或者一样大,才可以
int a = 1;
int b = 0;
try {
new Demo01().c(a,b);
} catch (Exception e) {
e.printStackTrace();
}
public void c(int a, int b) throws Exception {
System.out.println(a / b);
}
IDEA 快捷键 ctrl+alt+t 可以快速写出try catch代码块