捕获和抛出异常

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

posted @ 2020-05-27 22:28  七彩云朵^/^  阅读(134)  评论(0编辑  收藏  举报