如何在java中调用外部客户端api时出现异常时继续程序 publicstringprospect(列表prospectRequest,stringprimaryclientid){ if(p2p(primaryClientId)=“成功”){ 对于(ProspectRequest潜在客户:ProspectRequest){ p2p(prospect.getId()); } //剩下的代码我想继续 } } 公共字符串p2p(字符串id){ crmApi.getProspectId(id);//这是外部客户端api 字符串消息=“成功”; 返回消息; }

如何在java中调用外部客户端api时出现异常时继续程序 publicstringprospect(列表prospectRequest,stringprimaryclientid){ if(p2p(primaryClientId)=“成功”){ 对于(ProspectRequest潜在客户:ProspectRequest){ p2p(prospect.getId()); } //剩下的代码我想继续 } } 公共字符串p2p(字符串id){ crmApi.getProspectId(id);//这是外部客户端api 字符串消息=“成功”; 返回消息; },java,spring-boot,rest,java-8,feign,Java,Spring Boot,Rest,Java 8,Feign,如果p2p(primaryClientId)失败,那么我需要停止整个过程。我想如何继续“剩余的代码我想继续” 如果外部客户端api crmApi.getProspectId为success,则返回成功消息,这是一个很好的例子。 如果crmApi.getProspectId api出现错误,那么我还需要为下一组客户端继续执行p2p()程序。这是如何工作的 提前感谢。似乎您只需要使用try-catch-finally块 public string prospect(List<ProspectR

如果p2p(primaryClientId)失败,那么我需要停止整个过程。我想如何继续“剩余的代码我想继续”

如果外部客户端api crmApi.getProspectId为success,则返回成功消息,这是一个很好的例子。 如果crmApi.getProspectId api出现错误,那么我还需要为下一组客户端继续执行p2p()程序。这是如何工作的


提前感谢。

似乎您只需要使用try-catch-finally块

public string prospect(List<ProspectRequest> prospectRequest, String primaryClientId) {
    if(p2p(primaryClientId)=="Success") {
        for(ProspectRequest prospect : prospectRequest) {
            p2p(prospect.getId());
       }
   // rest of code i would like to continue
    }
 }

public string p2p(String id){
crmApi.getProspectId(id);//this is external client api
String message = "Success"; 
return message;
}
抛出一个选中的异常,您需要将RuntimeExpection更改为超类异常

编辑:

if(p2p(primaryClientId)=="Success") {
             for(ProspectRequest prospect : prospectRequest) {
                p2p(prospect.getId());
            }
}catch(RuntimeExpection e){}
}

BTW==for字符串看起来很不Java化<代码>“成功”。equals(p2p(…)将确保它适用于非内部字符串。嘿,Marlos,谢谢你的回答。我还有一个问题-假设我的prospectRequest列表中有3个对象,我需要执行p2p()对象上的每个对象上的操作。假设第二个对象在p2p方法中遇到来自第三方客户端的错误。如果停止在那里,我需要继续使用下一个对象。我如何解决此问题?您可以围绕操作创建第二个try-catch块,甚至仅围绕此操作创建第二个try-catch块。我已在我的原始回答。
if(p2p(primaryClientId)=="Success") {
             for(ProspectRequest prospect : prospectRequest) {
                p2p(prospect.getId());
            }
 for(ProspectRequest prospect : prospectRequest) {
      try {
        p2p(prospect.getId());