按照Java的Exception理论,应该编译不能通过.
但是现在可以编译通过,请问这是为什么?
runtimeexception是自动throws的,不需要declare(decalre了效果也不会有任何变化),即使声明了throws runtime exception,编译器也不会按通常的规则处理。所以上述代码的等效形式是:
class Base
{
public void aMethod() throws ClassNotFoundException
{
}
}
public class Derived extends Base
{
public void aMethod()
{
}
}
****** 答案 *****
java中的异常可以分为3种类型:
1。从Exception类直接派生出来的异常类
2。运行时刻类(RuntimeException)
3。I/O异常类
你说的那个理论对于1,3成立,但是RuntimeException是没有必要去catch的.(www.itpub.net)
最新相关文章
发表评论