1.首先要清楚Exception类包含两个子类:运行时异常和编译时异常。
2.当方法体中抛出的异常为运行时异常时,方法fun1可以不加throws:
RuntimeException为运行时异常类
public void fun() {
try {
fun1(0);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void fun1(int i) {
if (i % 2 != 0) {
throw new RuntimeException("这个值不为偶数!");
}
}
3.当方法体中抛出的异常为编译时异常时,需要加throws:
IOException为编译时异常类
public void fun() {
try {
fun1(0);
} catch (Exception e) {
System.out.println(e.getMessage());
}
}
public void fun1(int i) throws IOException {
if (i % 2 != 0) {
throw new IOException("这个值不为偶数!");
}
}