我们在工作中使用JUnit 3并且没有ExpectedException注释.我想在我们的代码中添加一个实用程序来包装它:
try {
someCode();
fail("some error message");
} catch (SomeSpecificExceptionType ex) {
}
Run Code Online (Sandbox Code Playgroud)
所以我尝试了这个:
public static class ExpectedExceptionUtility {
public static <T extends Exception> void checkForExpectedException(String message, ExpectedExceptionBlock<T> block) {
try {
block.exceptionThrowingCode();
fail(message);
} catch (T ex) {
}
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我认为Java不能在catch块中使用泛型异常类型.
我怎么能做这样的事情,解决Java限制?
有没有办法检查ex变量是否类型T?