为了账号安全,请及时绑定邮箱和手机立即绑定

错误处理会停止程序,但是我希望程序继续在 Java 中循环

错误处理会停止程序,但是我希望程序继续在 Java 中循环

catspeake 2021-08-04 10:38:05
我有一个可以运行并捕获错误的程序,但是我希望它完成循环而不是在捕获错误时停止。public class myClass {    int[] table;    int size;    public myClass(int size) {        this.size = size;        table = new int[size];    }    public static void main(String[] args) {        int[] sizes = {5, 3, -2, 2, 6, -4};        myClass testInst;        try {            for (int i = 0; i < 6; i++) {                testInst = new myClass(sizes[i]);                System.out.println("New example size " + testInst.size);            }        }catch (NegativeArraySizeException e) {            System.out.println("Must not be a negative.");        }    }}当数组大小为负时会发生错误,但是我如何继续完成循环?
查看完整描述

3 回答

?
慕哥6287543

TA贡献1831条经验 获得超10个赞

但是我希望让它完成循环而不是在错误被捕获时停止。


好的。然后将try和移动catch 到循环中。


for (int i = 0; i < 6; i++) {

    try {

        testInst = new myClass(sizes[i]);

        System.out.println("New example size " + testInst.size);

    } catch (NegativeArraySizeException e) {

        System.out.println("Must not be a negative.");

    }

}


查看完整回答
反对 回复 2021-08-04
?
繁花如伊

TA贡献2012条经验 获得超12个赞

首先指定程序中的位置可以抛出异常。其次指定如何处理异常,例如指定您要抛出该异常还是只写日志并继续执行。第三,您指定何时处理异常。在您的代码中,try-catch 可以在构造函数中,也可以在循环和下面的代码中,以达到您的目标。testInst = new myClass(sizes[i]);


查看完整回答
反对 回复 2021-08-04
?
慕仙森

TA贡献1827条经验 获得超8个赞

只需将 try-catch 块放入循环中即可。这样,如果抛出错误,您可以处理它并继续循环。这是代码:


    public class myClass {

    int[] table;

    int size;


    public myClass(int size) {

        this.size = size;

        table = new int[size];

    }


    public static void main(String[] args) {

        int[] sizes = {5, 3, -2, 2, 6, -4};

        myClass testInst;

            for (int i = 0; i < 6; i++) {

                try {

                    testInst = new myClass(sizes[i]);

                    System.out.println("New example size " + testInst.size);

                } catch(NegativeArraySizeException e) {

                    System.out.println("Must not be a negative.");

                    continue;

                }

        }

    }

}


查看完整回答
反对 回复 2021-08-04
  • 3 回答
  • 0 关注
  • 162 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信