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で起きたエラーを受け取って表示
  }
}

の様にエラーを受け取って処理する。

ヘルプ