2017-01-27 18 views
-1

我有一个简单的带有脚本标签的HTML文档,我用try catch搞乱了,并且无法获得catch块中的while语句工作。 try和catch只是运行,就好像while块不在那里一样。为什么不是这个while语句不在catch块中工作

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; 
 
    } 
 
    } 
 
}

+1

'如果(年龄> 0 ||年龄的数字是真实的<120 ){'所有数字都大于'0'或小于'120'。您需要'&&'而不是。 –

回答

1

age>0|| age<120始终是真实的,所以你总是设置statefalse和一个迭代后退出循环。

您应该使用&&而不是||为条件,那么它只会为都大于0 小于120

相关问题