for循环和trycatch嵌套


for (int i = 0; i < 10; i++) {
                if (param.path != null || ("").equals(param.path)) {
                    SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyyMMdd");
                    println("cat " + param.agoPath + simpleDateFormat.format(new Date()) + "/" + param.path + i + param.suffix + " |grep " + param.keyword + " |wc -l");
                    String s = i + 1 + "";
                    println(s);
                    try {
                        String lineStr = SshUtil.exec(param.ip, param.port, param.username, param.password,
                                "cat " + param.agoPath + simpleDateFormat.format(new Date()) + "/" + param.path + s + param.suffix + " |grep " + param.keyword + " |wc -l", param.timeout, param.encoding);
                        println(lineStr);
                        list.add(lineStr);
                    } catch (Exception e) {
                        break;
                    }
                }
            }

catch里的break跳不出外层的for循环,有其他方法处理吗?异常了就不循环了

你是怎么测试出跳不出的,断点跟了吗
你catch都不打印任何东西,你怎么确定走了catch的
如果想异常了就不循环,最简单的办法,你把try包在for外面不就好了,为什么非要放里面

这不是只有一层循环么,如果异常break就结束循环了,外层循环是在哪里,双重循环的话,可以定义一个变量当异常了赋值为一个值,然后外层判断,如果值为异常的值那就也break结束循环

不是用idea写的,这个是公司特殊脚本不能断点和查看行数,报错也很奇怪,应该是没有被捕获到,返回了个ssh的报错信息,不知道是那个包里多打印了一条报错信息,误导了我,谢谢大家回复