finally2タイトルとURLをコピープログラムの実行中に例外(エラー)が発生した場合、通常はエラー内容を表示して実行を中断します。致命的なエラーでなければ、実行を中断せずに発生した例外に応じた処理を行いたいことがあります。このような処理を例外処理と呼び、JavaScriptではtry-catch-finally構文を使って記述します。}1234567try{//処理}catch(変数名){//try節内でエラーが発生した際に実行される処理}finally{//最後に必ず実行される処理}try節には例外が発生する可能性のある処理を記述します。try節で例外が発生した場合は処理を中断し、catch節に記述した処理が実行されます。try節で発生した例外を受け取る仮引数の変数名は任意ですが、通常はe(「exception」の頭文字)を使います。finally説は必ず実行されるまた、finally節は例外処理が終わる際に必ず実行されます。try節で例外が発生しなかった場合も実行されます。このため、try節で例外が発生した場合はcatch節とfinally節を、例外が発生しなかった場合はtry節とfinally節を実行してtry構文を抜けます。catch節とfinally節は省略可能ですが、両方を省略することはできません。サンプル次の例は、try節で定義されていない関数f()を呼び出そうとして例外が発生したため、まずcatch節を実行し、最後にfinally節を実行しています。alert("エラーが発生しました。alert("プログラムを終了します。//例外が発生したのでcatch節に処理が移行}catch(e){alert("エラーが発生しました。");}finally{alert("プログラムを終了します。//最後に実行される}throw文を使った例外処理の場合分けthrow文を使うと、明示的に例外を発生させることができます。これを使って、例外に応じた処理の場合分けを行うことができます。次の例は2つ数について除算を行うプログラムです。JavaScriptでは0で除算をするとinfinityという特殊な数値になりますが、ここでは0による除算を行った場合には例外を発生させています。数値以外で除算すると結果はNaNとなってしまうため、同様に例外を発生させています。alert("0で除算したため終了します。alert("数値以外で除算したため終了します。//例外の判定alert("0で除算したため終了します。//例外の判定alert("数値以外で除算したため終了します。"nan")をcatch節に渡します。catch節では条件分岐を使って例外名に応じた処理を行っています。MILKはより良いサービスやプロダクトを作りたい人のためのメディアです。