package com.encapsulation.Demo08;
public class Error {
public static void main(String[] args) {
int a = 1;
int b = 0;
try {
new Error().test(1,0);
} catch (ArithmeticException e) {
e.printStackTrace();
} finally {
}
// 要捕获多个异常,捕获类型从小到大
// 快捷键ctrl+alt+t
try {
if (b == 0) {
throw new ArithmeticException(); // 主动抛出异常
}
System.out.println(a / b);
} catch (ArithmeticException e) {
e.printStackTrace(); // 打印错误信息
} catch (java.lang.Error e) {
} catch (Exception e) {
} catch (Throwable t) {
} finally {
// 不管有没有异常finally都会执行
System.out.println("finally");
}
}
// 假设这个方法中,处理不了这个异常。方法上抛出异常
public void test(int a, int b) throws ArithmeticException {
if(b==0) {
throw new ArithmeticException(); // 主动抛出异常,一般在方法中使用;
}
}
}
捕获异常