我有一个简单的带有脚本标签的 HTML 文档,我正在搞砸一个尝试 catch 并且无法让 catch 块中的 while 语句工作。尝试和捕获只是运行,就好像 while 块不存在一样。
try {
let age = prompt("age?")
if (age <= 0 || age >= 120) {
throw new Error("Something Happened!")
}
} catch (e) {
let state = true;
while (state) {
age = prompt("age?");
if (age > 0 || age < 120) {
state = false;
}
}
}
age>0|| age<120
始终为真,因此您始终将state
设置为 false
并在一次迭代后退出循环。
对于该条件,您应该使用 &&
而不是 ||
,那么它仅适用于同时大于 0 和小于 120 的数字。