转载请注明出处:
public voidtestException(){int a[] = {1,2,3};int q = 0;try{for(int i=0;i* 要点 1 : 尽管 ArithmeticException 继承自 Exception 。可是当发生 ArithmeticException 异常outputArithmeticExceptionfinally
* 并捕获的时候,就仅仅会捕获实际发生的这个异常。并不会由于Exception是其父类而
* 运行Exception那个catch子句。
* 要点2:可是假设你尝试将范围更大的Exception的catch语句放到的catch语句的前面,那么就会发生
* catch子句不可到达的错误“Unreachablecatch block for ArithmeticException.
* Itis already handled by the catch block for Exception”
* 即范围更大的异常(父类)必须放在后面,假设没有继承关系,比方ClassNotFoundException,
* 和ArithmeticException的catch子句之间就无所谓先后关系。