java异常学习
异常处理机制
异常分为运行异常和非运行异常
try和catch应用
package oop.libo.Demo02;
public class test {
public static void main(String[] args) {
int a= 1;
int b =0;
//ctrl+alt+T(快捷键调用try) 假设要捕获多个异常,要从小到大。
try {//监控区域
System.out.println(a/b);
} catch (Exception e) {//catch(想要捕获的异常类型!)捕获异常
System.out.println("程序出现异常,变量b不能为0");
} catch (Throwable t){
System.out.println("Exception");
} finally {//处理善后工作 ,finally可以不要,假设IO刘,我们就要使用finally去关闭。
System.out.println("finally");
}
}
}
自定义异常
/*try {
System.out.println(a/b);
} catch (Exception e) {
throw new RuntimeException(e);//使用throw,主动抛出异常。一般在方法中使用
} finally {
}*/
捕获异常
package oop.libo.Demo02;
public class test2 {
//可能会存在异常的方法
static void test(int a) throws MyException{
System.out.println("传递的参数为:"+a);
if (a>10){
throw new MyException(a);
}
System.out.println("ok");
}
public static void main(String[] args) {
try {
test(11);
} catch (MyException e) {
System.out.println("MyException=>"+e);
} finally {
}
}
}