我有两个id(id1,id2),如果第一次失败,我想从服务器获取数据。如果在java中首次失败,执行服务器调用
try
{
loadData1(id1);
}
catch(Exception e)
{
loadData2(id2);
}
这是一个很好的做法还是有没有其他的选择呢?
我有两个id(id1,id2),如果第一次失败,我想从服务器获取数据。如果在java中首次失败,执行服务器调用
try
{
loadData1(id1);
}
catch(Exception e)
{
loadData2(id2);
}
这是一个很好的做法还是有没有其他的选择呢?
这不是一个好习惯。尝试使用catch块来处理错误/异常并记录错误信息。你可以有一个条件检查,看是否loadData1(id1);
操作是成功的,这样在接下来的try-catch块可以loadData2(id2);
boolean loadSuccess=false;
try
{
loadSuccess=loadData1(id1);
}
catch(Exception e)
{
//error handling or logging code goes here
}
if(!loadSuccess)
{
try
{
loadData2(id2);
}
catch(Exception e)
{
//error handling or logging code goes here
}
}
loadData1在引发异常时失败。但loadData2在那里可以处理它 - 只要 -
如果满足其中一个条件,代码的其余部分应该继续执行。
此举将它添加逻辑来闯闯,而不是到抓。 catch是为了处理异常。 – XtremeBaumer
将try catch放在方法中,如果失败,再调用它。确保你在其中放置了一个计数器,否则你可能会陷入无限循环。 –
如果加载第一个ID失败,为什么会出现异常?为什么方法的返回值只是表明加载不成功,例如因为id不存在?一般情况下,例外情况就是这样,即应该很少发生的预期或意外情况。如果由于某种原因预期手术失败,通常更好的做法是,例如,通过在进行调用之前检查前提条件或正确的返回值/状态。 – Thomas