1. 抛出的异常类型是catch中声明异常的子类也算匹配,所以需要将最具体的子类放在前面,如果基类Exception放在前面,则其他更具体的catch代码将得不到执行
2. 如果在try或者catch语句内有return语句,则return语句在finally语句执行结束后才执行,但finally并不能改变返回值
3. finally中有return不仅会覆盖try和catch内的返回值,还会掩盖try和catch内的异常,就像异常没有发生一样
4. 自Java 7开始支持一种新的语法,多个异常之间可以用“|”操作符
5. 异常应该且仅用于异常情况,是指异常不能代替正常的条件判断