【发布时间】:2023-03-21 17:27:01
【问题描述】:
我在编译我的代码时遇到问题,我试图让一个类的方法在某些条件下抛出一个个性化的异常。但是在编译时我得到了消息:
被覆盖的方法不会抛出异常
这是类和异常声明:
public class UNGraph implements Graph
Graph 是一个接口,其中包含UNGraph 的所有方法(方法getId() 在该脚本上没有throws 声明)
在构造函数之后我创建了异常(在类 UNGraph 中):
public class NoSuchElementException extends Exception {
public NoSuchElementException(String message){
super(message);
}
}
这是有异常的方法
public int getId(....) throws NoSuchElementException {
if (condition is met) {
//Do method
return variable;
}
else{
throw new NoSuchElementException (message);
}
}
显然我不希望方法每次都抛出异常,只是在条件不满足的时候;当它遇到时,我想返回一个变量。
【问题讨论】:
标签: java exception methods overriding