try{
语句1;
语句2;
}catch(Exception1 e){
}catch(Exception2 e){
}finally{
}
若当进入try程序遇到异常时,会抛出异常给catch。
若没有碰到异常,系统会跳过catch,会跳到finally继续执行。
语句1异常之后语句2不会执行,会跳到finally执行。
在处理完语句1后不会再次回到try去执行语句2.
无论有没有异常都会到finally,finally会释放资源。
可以写多个catch(Exception e),代码中如果catch(Exception1 e)和catch(Exception2 e)没有区别的话顺序无所谓,当catch(Exception1 e)和catch(Exception2 e)是继承关系时,子类放前面,父类放后面。
举例:设置catch(Exception1 e)为Animal,catch(Exception2 e)为Dog,若Dog出现异常了,系统会先在Animal里进行处理,而不是Dog,所以,尽量的把子类放在父类前面。