为什么这在 while 语句中不起作用 catch 块



我有一个简单的带有脚本标签的 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 的数字。

相关内容

  • 没有找到相关文章

最新更新