捕获和抛出异常

假设要捕获(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代码块

猜你喜欢

转载自www.cnblogs.com/shenyueshuo/p/12977107.html