1.分类
所有的异常都是由Throwable继承而来,在下一层分为2个分支:Error和Exception。
Error:描述了Java运行时系统的内部错误和资源耗尽错误。
在Exception下面又分为2个分支:
RuntimeException:程序错误导致的异常
IOException:I/O错误导致的异常
Java语言规范将派生于Error和RuntimeException类的所有异常称为未检查异常,所有其他的异常称为已检查异常。
2.捕获多个异常的时候,异常变量隐含为final,所以不能对异常中的e再赋值。
3.不管是否有异常被捕获,finally子句中的代码都会被执行。try语句可以只有finally子句,而没有catch子句。
4.如果在try语句块中出现return,在方法返回前,finally子句的内容将被执行。如果finally子句中也有一个return的话,这个返回值将会覆盖原始的返回值。