一个try 多个catch的问题
问题描述:
[code="java"]try{
}
catch(NullPointerException n){
}
catch(Exception e){
}[/code]
这段代码是有错误的, 帮忙怎么解释一下
答
错误不错,我们通常针对的都是编译器,不能将其抛开,它是错判断误的参照标准。
再者,这个代码本身是没有意义的,在这个基础上讨论的结论意义性也不大。
答
很简单,因为它没有执行语句,抛不出任何异常。
你加点代码,再看看。
答
Exception
是所有异常类的基类,把它写在前面的话,后面的异常catch不到了。
所有的都会被它拦住,后面的写不写都无所谓了,编译器则要求强制去掉。