GOTO语句的使用
小语法,大妙用
场景:当参数1执行失败,报出特定异常的时候,需要调整相应参数,再重新执行
public class MainTest {
public static void main(String[] args) throws Exception {
int param = 1;
boolean isFinish = false;
looper:
while (!isFinish) {
try {
method(param);
isFinish = true;
} catch (Exception e) {
// 报110异常,调整参数重试
if (e.getMessage().equals("110") && param == 1) {
System.out.println(String.format("参数%s执行失败,调整参数重试", param));
param = 2;
continue looper;
}
// 避免死循环,如果抛出异常,则不用这一句
// isFinish = true;
throw e;
}
}
}
public static void method(int param) throws Exception {
switch (param) {
case 1:
throw new Exception("110");
case 2:
System.out.println(String.format("参数%s执行成功", param));
}
}
}