Тип-параметр
T
может использоваться в throws
, переменная типа T
может использоваться в throw
. Недавно мы уже говорили об этом.2. Нельзя использовать дженерик в catch.
Множественные блоки
catch
должны идти без повторений, в определенном порядке – от специфичного класса к более базовому. Стирание типов-параметров в связи с этими правилами добавило бы путаницу, не неся особой пользы.3. Нельзя параметризовать класс-исключение типами.
Если вы попытаетесь скомпилировать конструкцию вида
class MyException<T> extends Throwable {}
, то увидете ошибку generic class may not extend java.lang.Throwable
.4. Можно реализовывать исключением generic-интерфейс.
Исключение вполне может быть например
Comparable
или Iterable
. Механизм обработки исключений работает на классах, никак не затрагивая интерфейсы.