1.只执行一个catch块:捕获异常时只会按顺序挑一个合适的异常catch块来执行,一旦按顺序匹配到合适的异常,将不继续匹配下面的异常catch块。
2.先小异常,再大异常:异常捕获时catch块中所有的父类异常的catch块都应该放在子类异常catch的后面
A方法调用者抛出的异常必须是A方法抛出异常的子类或相同。否则将无法通过编译
3.异常变量不可重新赋值: 捕获多种异常时,异常变量有隐式的final修饰,不可重新赋值。
4.异常块中return:程序在try或catch中执行遇到 return语句,则寻找finally块并执行,若fianlly没有return语句,则fianlly执行后返回继续执行try或catch里的return语句后半部分;若有,则执行fianlly里的return,系统将不会调回try或catch块的语句。
5.自行抛出异常使用 throw关键字,而不是抛出JAVA所有的异常时的 throws。throw抛出的是一个异常实例,而不是一个异常类,每次只能抛出一个异常实例