我有一个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
}
}
答案 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
循环。
不是一个真正的问题。