我想定义一个接口(interface),例如
public interface Visitor <ArgType, ResultType, SelfDefinedException> {
public ResultType visitProgram(Program prog, ArgType arg) throws SelfDefinedException;
//...
}
在实现过程中,selfDefinedException有所不同。 (selfDefinedException暂时为通用未定义)
有没有办法做到这一点?
谢谢
最佳答案
您只需要限制异常类型以使其适合抛出即可。例如:
interface Visitor<ArgType, ResultType, ExceptionType extends Throwable> {
ResultType visitProgram(String prog, ArgType arg) throws ExceptionType;
}
也许:
interface Visitor<ArgType, ResultType, ExceptionType extends Exception> {
ResultType visitProgram(String prog, ArgType arg) throws ExceptionType;
}