嗨,我正在尝试创建Exception的通用子类,以允许其接收器检查负责其抛出的参数。 虽然可以将泛型添加到非泛型类的子类中,但是扩展Exception会给出
The generic class Foo<T> may not subclass java.lang.Throwable
我也尝试过非静态内部类(以避免在类名附近指定T),但它也不起作用。
我的异常类的结构(Interval是我自己的类,包含两个T字段 - 间隔的开始和结束......如果这很重要):
class IntervalOverlapException<T extends Comparable<T>> extends RuntimeException {
private final Interval<T> first;
private final Interval<T> second;
IntervalOverlapException(Interval<T> first, Interval<T> second) {
this.first = first;
this.second = second;
}
public Interval<T> getFirstInterval() {
return this.first;
}
public Interval<T> getSecondInterval() {
return this.second;
}
}
有没有办法在没有上述编译错误的情况下实现这种功能?