您可以传入Class对象并以编程方式进行检查。
public static <T extends Exception> void checkForException(String message, Class<T> exceptionType, ExpectedExceptionBlock<T> block) { try { block.exceptionThrowingCode(); } catch (Exception ex) { if ( exceptionType.isInstance(ex) ) {return; } else { throw ex; //optional? } } fail(message);}//...checkForException("Expected an NPE", NullPointerException.class, //...我不确定您是否要重新扔球;重新抛出将同样导致测试失败/错误,但是从语义上讲我不会,因为它基本上意味着“我们没有得到我们期望的异常”,因此它代表编程错误,而不是测试环境错误。



