当多个catch块中异常出现继承关系时,为什么父类异常的catch块一定要放在最下面呢?否则就会编译失败.
例:
class Exc0 extends Exception{}
class Exc1 extends Exc0{}
class Demo
{
public static void main(String[] args)
{
try
{
throw new Exc1();
}
catch(Exception e)
{
System.out.println("Exception");
}
catch(Exc0 e)
{
System.out.println("Exc0");
}
}
}
//会编译失败,把catch(Exception e)放在下面就通过了 这是为什么呢
|