JavaScript try-catch文
出典: フリー教科書『ウィキブックス(Wikibooks)』
目次 |
[編集] 例外処理
この項では、try~catch文を柱とした例外処理を学習する。
[編集] try~catch文
try~catch文は、tryに続くブロック(複文)部分で囲んだプログラム中で、なんらかのエラーが発生したときに、catch節を使ってエラーの内容を受け取るものである。 デバッグ中に、そのバグの内容を受け取ることが出来るので、ここでエラーの内容をはき出す様にしておくと、バグの箇所を特定するのに大変役に立つ。
try{
// 何らかのプログラム
}catch( e ){
alert( e ); // バグの内容をダイアログで表示する
}
[編集] finally文
filally文は、通常try~catch文の後に続いて書く。 catch節と違い、エラーが発生しなくても呼び出されて処理を行い、try節で行った処理の終了処理を記述するのが主な用途である。 ただし、次項で説明する様に、throw文が実行された場合だけはその例から外れ、finally節中の処理は実行されない。 ここにfinally節の存在意義がある。
try{
// 何らかのプログラム
}catch( e ){
alert( e ); // バグの内容をダイアログで表示する
}finally{
// 終了処理
}
(try節の後ろには、catch節かfinally節のいずれかがあれば良く、catch節は必ずしも必要ではない)
[編集] throw文
エラーの内容を呼び出し元に通知する。 通常は関数の中に書いてしまい
function f(){
throw "error:cannnot caliculate"; // エラーの内容を記述する
}
の様にエラーの内容を通知する。 これは関数内部で起きたエラーを呼び出し元に通知する役目があり
function f1(){
throw "error:cannnot caliculate"; // エラーの内容を記述する
}
function f2(){
try{
f1();
}catch(e){
alert(e); // 関数f1で起きたエラーを受け取って表示
}
}
の様にエラーを受け取って処理する。