我们在工作中使用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
类型?