天天看点

Java编程GOTO语句妙用

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));
        }
    }
}