
java覆盖问题。覆盖父类方法抛出异常问题
重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常。子类抛出的异常类型不能比父类抛出的异常类型更宽泛!能帮忙解释下上面两句话吗?另有下面疑问,我在子类中调用父类的...
重写方法需要抛出与原方法所抛出异常类型一致异常或不抛出异常。
子类抛出的异常类型不能比父类抛出的异常类型更宽泛!
能帮忙解释下上面两句话吗?
另有下面疑问,我在子类中调用父类的该方法,抛出父类的异常。但如果我将这个异常catch住,在catch子句中心抛出一个比父类型更宽泛的异常。感觉应该也可以。
还有我查到说抛出runtime异常没有问题。运行时异常虽然可以不用捕获。但如果其本身已经超出了父类的范围呢?
忘高手讲解。
明白后必有重谢!! 展开
子类抛出的异常类型不能比父类抛出的异常类型更宽泛!
能帮忙解释下上面两句话吗?
另有下面疑问,我在子类中调用父类的该方法,抛出父类的异常。但如果我将这个异常catch住,在catch子句中心抛出一个比父类型更宽泛的异常。感觉应该也可以。
还有我查到说抛出runtime异常没有问题。运行时异常虽然可以不用捕获。但如果其本身已经超出了父类的范围呢?
忘高手讲解。
明白后必有重谢!! 展开
6个回答
展开全部
重写方法要抛出被重写方法抛出异常或者这个异常的子类
在catch子句中心抛出一个比父类型更宽泛的异常
这样也不行
try{
...
} catch(Exception e) {
throw new Exception(e);
}
这个时候,这段代码所在方法必须声明抛出异常
public void methodA throws Exception
runtime异常和Exception不一样东西
在catch子句中心抛出一个比父类型更宽泛的异常
这样也不行
try{
...
} catch(Exception e) {
throw new Exception(e);
}
这个时候,这段代码所在方法必须声明抛出异常
public void methodA throws Exception
runtime异常和Exception不一样东西
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询