Мы используем JUnit 3 на работе, и нет аннотации ExpectedException
. Я хотел добавить утилиту в наш код, чтобы обернуть это:
try {
someCode();
fail("some error message");
} catch (SomeSpecificExceptionType ex) {
}
Итак, я пробовал это:
public static class ExpectedExceptionUtility {
public static <T extends Exception> void checkForExpectedException(String message, ExpectedExceptionBlock<T> block) {
try {
block.exceptionThrowingCode();
fail(message);
} catch (T ex) {
}
}
}
Однако, я думаю, что Java не может использовать общие типы исключений в блоке catch.
Как я могу сделать что-то подобное, работая над ограничением Java?
Есть ли способ проверить, что переменная ex
имеет тип T
?