JAVA - 如果其中一个函数失败,如何优雅地继续 while 循环?

JAVA - How to continue a while loop gracefully if one of the functions inside it fails?

我有一个由 while 循环组成的函数。 在 while 循环中,我调用了一些私有方法。 如果任何方法失败(returns false,但也会抛出一个私有设计的异常),我想继续下一次迭代。

示例:

 void func (){

    while (true){

        func1();
        func2();
        func3();

    }
 }

正如我所说,每个 func 也会在出错时抛出 myException 对象。

谢谢!

在循环中放置一个 try-catch 块。

用 try-catch 块包装每个 function() 调用。喜欢

while(true){
    try{
        func1();
    }catch(YourException1 exception){
    //Do something.
    }

    try{
        func2();
    }catch(YourException2 exception){
    //Do something.
    }

    try{
        func3();
    }catch(YourException3 exception){
    //Do something.
    }
}

捕获异常并决定做什么:

void func (){

    while (true){
        try {
            func1();
        } catch (MyException e) {
            // print error or don't do nothing
        }
        try {
            func2();
        } catch (MyException e) {
            // print error or don't do nothing
        }
        try {
            func3();
        } catch (MyException e) {
            // print error or don't do nothing
        }
    }
 }

您可以使用 && 运算符连接函数调用以在其中一个调用失败后不执行任何调用,并用 try-catch 块包围所有内容。

void func (){
    while (true){
        try{ func1() && func2() && func3(); }
        catch (YourCustomException e){ }
    }
}