gpt4 book ai didi

Java Catch 变量中的 block 异常类

转载 作者:太空宇宙 更新时间:2023-11-04 11:47:08 25 4
gpt4 key购买 nike

我有一个要求,我正在编写重试逻辑,并且我需要根据将在参数中传递的函数来捕获异常,因此在java中是否可以确定捕获的异常是否与在参数中传递的异常匹配?

基本上:

retryfunc(func,Exception... retryableexceptions,int retries){

try {
func.apply();
}catch(...){}//How to validate if exception is of retryable type ?
}

最佳答案

我假设您正在传递“可重试异常”的异常列表,并且您想知道由该方法调用生成的异常是否是其中之一。

如果是这种情况,那么您可以执行以下操作:

retryfunc(func, Exception... retryableExceptionList, int retries){

try {
func.apply();
}catch(Exception e){

for (Exception retryableException : retryableExceptionList) {
if (e.getClass().isAssignableFrom(retryableException.getClass())) {
System.out.println("We need to retry buddy..");
break;
}
}
}
}

关于Java Catch 变量中的 block 异常类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42240474/

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