创建和使用 类 List<Class<?>> 的列表
Creating and use a List of Classes List<Class<?>>
在 JUnit5s 中使用 TestExecutionExceptionHandler 提供的 handleTestExecutionException 方法,每当测试抛出代码未捕获的异常时调用该方法。
我正在尝试检测我们的某个硬件设备是否发生崩溃。
这些崩溃可以通过多种方式检测到,因为我们有多种方式与我们的不同系统(Rest、Telnet、SSH、WebSocket、SOAP 等)通信,这些系统都会抛出它们自己类型的错误。
因此,与其使用庞大的 if 语句来检查每个可抛出的对象,不如使用 RestException、TelnetException 实例……,
我希望列出 类 并循环遍历该列表以查看抛出的错误是否在该列表中。
这似乎比巨大的 if 语句更易于维护且更易于阅读。
@Override
public void handleTestExecutionException(ExtensionContext extensionContext, Throwable throwable) throws Throwable {
List<Class<? extends Throwable>> crashErrors = Arrays.asList(NotFoundException.class, BadGatewayException.class, SocketTimeoutException.class, ConnectException.class, ...);
for(Class<? extends Throwable> error : crashErrors){
if(throwable instanceof error) {
//process the crash
break;
}
}
}
希望遍历列表以确定系统是否崩溃。
有没有办法做到这一点,或者使用 if 语句和 20 or 语句会更好吗?
看看Class
的方法。在那里你可以找到 isInstance
;)
在 JUnit5s 中使用 TestExecutionExceptionHandler 提供的 handleTestExecutionException 方法,每当测试抛出代码未捕获的异常时调用该方法。
我正在尝试检测我们的某个硬件设备是否发生崩溃。 这些崩溃可以通过多种方式检测到,因为我们有多种方式与我们的不同系统(Rest、Telnet、SSH、WebSocket、SOAP 等)通信,这些系统都会抛出它们自己类型的错误。 因此,与其使用庞大的 if 语句来检查每个可抛出的对象,不如使用 RestException、TelnetException 实例……, 我希望列出 类 并循环遍历该列表以查看抛出的错误是否在该列表中。
这似乎比巨大的 if 语句更易于维护且更易于阅读。
@Override
public void handleTestExecutionException(ExtensionContext extensionContext, Throwable throwable) throws Throwable {
List<Class<? extends Throwable>> crashErrors = Arrays.asList(NotFoundException.class, BadGatewayException.class, SocketTimeoutException.class, ConnectException.class, ...);
for(Class<? extends Throwable> error : crashErrors){
if(throwable instanceof error) {
//process the crash
break;
}
}
}
希望遍历列表以确定系统是否崩溃。
有没有办法做到这一点,或者使用 if 语句和 20 or 语句会更好吗?
看看Class
的方法。在那里你可以找到 isInstance
;)