Общее исключение в Java?

Возможный дубликат:
Почему Java не поддерживает общие Метательные предметы?

Привет, я пытаюсь создать общий подкласс 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;
    }
}

Есть ли способ добиться такой функциональности без вышеупомянутой ошибки компиляции?


person Swato    schedule 03.06.2011    source источник
comment
проверьте ссылки, размещенные jleedev. Вы не можете добиться этого в Java, поскольку это не разрешено спецификацией языка.   -  person Vineet Reynolds    schedule 03.06.2011