gpt4 book ai didi

java - 创建和使用类列表 List>

转载 作者:行者123 更新时间:2023-12-02 09:31:07 25 4
gpt4 key购买 nike

在 JUnit5 中,使用 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 或 之类的语句会更好吗?

最佳答案

看一下Class的方法。在那里你可以找到 isInstance ;)

关于java - 创建和使用类列表 List<Class<?>>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57960693/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com