异常分类:
Error:内存溢出、虚拟机错误,无法恢复。
Exception:分为RuntimeException(运行时异常)和Checked(非运行时异常)。
Checked(非运行时异常,强制需要添加try-catch块):
Error:内存溢出、虚拟机错误,无法恢复。
Exception:分为RuntimeException(运行时异常)和Checked(非运行时异常)。
Checked(非运行时异常,强制需要添加try-catch块):
- SQLException
- ClassNotFoundException
- IOException
- FileNotFoundException
- ...
RuntimeException(运行时异常,程序设计的时候应尽量避免):
- ArithmeticException(算术错误,0作除数)
- ArrayIndexOutOfBoundsException(数组越界)
- NullPointerException(访问Null对象)
- InputMismatchException(scanner.nexInt()得到字符类型)
- ClassCastException(类转换异常)
- NumberFormatException(尝试将字符串转换为数字)
- ...
关于try-catch-finally内存在return时的执行顺序:
try {
System.out.println("a");
return;
} catch (Exception e) {
System.out.println("b");
return;
} finally {
System.out.println("c");
// System.exit(0);
}
先执行try/catch,然后执行finally,最后执行try/catch内的return。若try/catch内有:System.exit(0),则finally无法执行。