我有一个带有脚本标记的简单HTML文档,我正在使用try catch搞乱,并且无法使catch块中的while语句生效。 try和catch只是运行,好像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;
}
}
}
答案 0 :(得分:1)
age>0|| age<120
始终为true,因此您始终将state
设置为false
并在一次迭代后退出循环。
对于那个条件,您应该使用&&
而不是||
,然后只有大于0 且小于120的数字才会出现。