Java中的通用异常?

时间:2011-06-03 14:04:27

标签: java generics exception extend

  

可能重复:
  Why doesn't Java support generic Throwables?

嗨,我正在尝试创建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;
    }
}

有没有办法在没有上述编译错误的情况下实现这种功能?

0 个答案:

没有答案