打破一个循环,其中有一个try-catch块

时间:2013-03-12 07:46:28

标签: java

我有一个While循环,并在其中有一个try catch块。如何在catch语句中添加break语句来打破while循环。我不想使用DO-WHILE循环,因为我只需要几分钟来提交我的代码,而且我不想通过进行更改来破坏程序。但是,稍后我将考虑使用DO-WHILE语句更改代码。

while (true) {
try {
// something here
} catch (Exception e) {

// I need to break the forever while loop here
}
}

8 个答案:

答案 0 :(得分:8)

try {
// something here
    while (true) {
    // While body here.
    }
} catch (Exception e) {

// I need to break the forever while loop here
}
} 

您可以在try catch体内移动while循环。这将以编程方式完全相同,但所有错误都将被捕获,并且不需要执行任何操作。这看起来更好,并且更具语义感。

此外,只需在catch块中添加单词break;,它就会停止循环的运行。

答案 1 :(得分:3)

只需在catch块中添加break语句

答案 2 :(得分:0)

除非你在catch子句中有另一个循环(这很奇怪),只需使用break;

try-catch不是一个循环,所以break会影响第一个包含循环,这似乎是一段时间。

答案 3 :(得分:0)

它会起作用。

但你应该做的是离开循环,因为你有一个例外:

try {
    while (true) {
        // something here
    }
} catch (Exception e) {
    // Do whatever in the catch
} 

答案 4 :(得分:0)

您可以在while循环中引入最初为true的布尔变量,并在try或catch语句中的任何位置设置为false。这样,即使内部存在嵌套循环,也可以打破已经给出的循环。

boolean notDone = true;
while(notDone) {
try {
// something here
} catch (Exception e) {
// I need to break the forever while loop here
notDone = false;
}

你可以使用off course使用反向版本,而不是使用“done”布尔值。这导致您需要在每次迭代时调用while循环内的反转。这是次要性能和增强的代码可读性之间的权衡。

答案 5 :(得分:0)

只需命名你的循环并打破它 例如

Lable:
while (true) {
    try {
        // something here

    } catch (Exception e) {
        //  I need to break the forever while loop here
        break Lable;
    }
}

答案 6 :(得分:0)

有多种方法

Approach1 - 通过反转While Condition变量

boolean notDone = true;
while(notDone) {
    try {
    // something here
    } catch (Exception e) {             
        notDone = false;
    }
}

Approach2 - 使用break语句

while(notDone) {
    try {
    // something here
    } catch (Exception e) {
        break;
    }
}

方法3 - 将捕获区移到

之外
try {
        while(notDone) {

        }       
    } catch (Exception e) {

    }       

答案 7 :(得分:0)

  

如何在catch语句中添加break语句来打破while循环

就这样做。在break语句中添加catch语句。它会突破while循环。

不是一个真正的问题。