2017-01-27 63 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

相關問題