2017-02-06 22 views
0

varキーワードを使用せずにfinallyブロックで年齢を定義できる方法はありますか?私はこれを行う方法を見つけていない、私は少し奇妙だと感じるので、方法があると仮定している。どのようにしてfinallyブロックの宣言を試してみますか?

try{ 
    let age=prompt("What is your age?"); 
    if(age<=0){ 
     throw new Error("Your age can not be " + age + " please type your real age."); 
    } 
    else if(typeof age==="string"){ 
     throw new Error("What is not a number please type a number"); 
    } 
    else if((age % 1) != 0){ 
      throw new Error("Please type an whole number"); 
    } 
} 
catch(e){ 
    console.log(e) 
} 
finally{ 
    parseInt(age);// age come up as undefined 
} 
+3

tryの外側に宣言してください。 –

+1

'prompt'は文字列を返します。数字ではないもの – traktor53

答えて

1

ちょうどそれの外で変数を宣言、try内のプロンプトを入れる理由はありません。必要に応じて、ブロックをローカルスコープに使用することはできます。

{ 
    let age =prompt("What is your age?"); 
    try { 
     … 
    } catch(e) { 
     console.log(e) 
    } 
    console.log(parseInt(age)); 
} 
関連する問題