javaScriptではtry/catch/finally文を使って例外を処理する。tryには例外処理の対象となるコードを記述する。
tryの後には、catchを記述する。catchにはtryブロックで例外が発生した時に呼び出される文を記述する。最後にfinallyを記述する。finallyに記述したコードはtryブロックの処理が終了した後に必ず実行される。
catchとfinallyはそれぞれ省略可能だが、必ずどちらかは記述する必要がある。
try {
//ここのコードはブロックの先頭から順に実行される。
//ただし、throw文を使ったり、例外をスローする
//メソッドを呼び出して、例外が発生する場合もある
}
catch (e) {
//もしtryで例外は発生した場合に実行される
//その時に、ローカル変数eで参照できる。
}
finaly {
//ここは以下の条件のいずれかが満たされると実行される
//tryが最後まで実行された後。
//catchで例外が処理された後。
//キャッチされなかった例外が伝播すす前
}
try {
let n = Number(prompt('正の整数を入れてね', ''));
let f = factorial(n);
alert(n + '! = ' + f);
} catch (e) {
alert(e);
}
上のコードはユーザーに数値を入れてもらいます。数値が正しい値ならば、その数値の階上を計算する。
正しくない場合はcatchに処理が移動し、alertでエラーをユーザーに伝える。
勉強した本