本帖最后由 陈德基 于 2012-10-22 11:02 编辑
过程是这样的:假设发生异常,首先你抓取的是Exception异常,然后你再抓取一次,抓取的是具体的子类异常。
catch(Exception e)//多态:Exception e = new NoSuchElementExcepion();
{}
catch(NoSuchElementException e) NoSuchElementExcepion e = new NoSuchElementExcepion();
{}
从上面的多态特性,就可以发现无论你抓取的是什么具体的子类异常,都会首先被Exception异常接收,这样后面的具体子类的异常处理步骤就不会被执行了。
父类的异常抓取要放在异常抓取的最后面,父类异常会直接代替子类异常被处理。 |