一个try后面可以跟多个catch,如:
package exception;
public class MoreCatchTest {
public static void main(String[] args) {
try {
throw new ExceptionB();
}
catch (ExceptionB e) {
System.out.println("ExceptionB");
}catch (ExceptionA e) {
System.out.println("ExceptionA");
}catch (Exception e) {
System.out.println("Exception");
}finally(){
System.out.println("结束");
}
}
}
当try里捕获A异常时,输出ExceptionA结束
当try里捕获B异常时,输出ExceptionB结束
当try里捕获Exception异常时,输出Exception结束
需注意:
多个catch排列时,作用域大的排在后面,多个catch只执行其中一个,不管执行哪一个catch,最后都要执行finally,除非catch里出现return 或者system.exit(0);