抛异常
显式:代码加 throw
隐式:jvm运行时,无法正常执行,如数组索引越界
捕获异常
try:需要进行异常监控的代码
catch:捕获try中触发的异常,可以有多个,前面的异常类型不能覆盖后面
finally:必定执行的代码块,避免跳过某些关键的清理代码
异常概念
Throwable:
Exception:RuntimeException(非检查异常)
Error(非检查异常)
其他属于检查异常,需要显式的捕获异常
jvm如何捕获异常
Java 字节码中,每个方法对应一个异常表。当程序触发异常时,Java 虚拟机将查找异常表,并依此决定需要将控制流转移至哪个异常处理器之中。