Вы можете сделать что-то вроде
public interface Test<T extends Throwable> {
void test() throws T;
}
А потом, например
public class TestClass implements Test<RuntimeException> {
@Override
public void test() throws RuntimeException {
}
}
Конечно, когда вы создаете экземпляр класса, вы должны объявить выброшенное исключение.
РЕДАКТИРОВАТЬ: Конечно, замените Throwable
любым из ваших определенных вами исключений, которые будут расширяться Throwable
, Exception
или аналогичными.