如果遇到一些特殊异常,我想重做这些步骤。
我不想再复制代码了。我怎样才能实现这个目标?
try{
//step1
//step2
//step3
}catch(specialException1 e){
//redo step1
//redo step2
//redo step3
}
编辑:实际上,由于检查不同的条件,该异常是从另一个类引发的。当回到此类时,需要处理该问题并根据要求再次执行该步骤。例如 Oauth 已过期..因此需要再次刷新 token 。
最佳答案
首先,当其中一个步骤抛出异常
时,您为什么要再次执行它们?
如果这是一个要求,那么您可以将这些步骤组合在一起,并将它们放入单独的方法中,并在 try
和 catch
block 中调用该方法。
try{
mySteps();
}catch(SpecialException se){
mySteps();
}
private void mySteps() throws SpecialException{
// Step 1
// Step 2
// Step 3
}
关于java - 执行捕获异常中的前面步骤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15290565/