java 异常 两则

当子类B重写父类A的方法method()时,子类method()所抛出的异常不能比父类method()所抛出的异常“范围大”。但这一“定理”针对的是编译时异常,不适用与运行时异常。因为运行时异常是在代码运行的时候抛出的,所以这种异常就不能确定了。总之,你要记住下面定理就行了:1.重写方法可以抛出与父类被重写方法相同的异常,或者不抛出任何异常;2.编译时异常“可缩小”,运行时异常“可扩大”(即可抛出多个新的运行时异常)。

 

 

##Java 提供了两种Exception 的模式,一种是执行的时候所产生的Exception (Runtime Exception),另外一种则是受控制的Exception (Checked Exception)。

##所有的Checked Exception 均从java.lang.Exception 继承而来,而Runtime Exception 则继承java.lang.RuntimeException 或java.lang.Error (实际上java.lang.RuntimeException 的上一层也是java.lang.Exception,这说明作为exception两者并没有本质的区别,只是java语言本身从功能考虑有所区分,这才导致下面提到的不同点)。

posted @ 2009-06-09 14:29  zj27  阅读(185)  评论(0编辑  收藏  举报