■プログラム説明(ソースコード説明)
変数n1を変数n2で除算した場合に変数n2が0であるためエラーになります。変数の値が不確定な場合にはtryで囲み、エラー発生時の処理をfinallyで指定します。finallyではメッセージを表示し、変数nの値、つまり結果を無限大の文字にします。最後に演算結果を表示します。
■ソースコード
n1 = 1;
n2 = 0;
try{
n = n1 / n2;
}
finally{
alert("ゼロ除算が行われました");
n = "∞";
}
alert("n1/n2は"+n+"です");
■ポイント
tryは、以下のように入れ子(ネスティング)することもできます。
n1 = 1;
n2 = 0;
n3 = 0;
try{
n = n1 / n2;
try{
nn = n1 / n3;
}
finally{
alert("ゼロ除算が行われました。n1/n3");
nn = "∞";
}
}
finally{
alert("ゼロ除算が行われました。n1/n2");
n = "∞";
}
alert("n1/n2は"+n+"です");
alert("n1/n3は"+nn+"です");
throw命令を使ってエラーを発生させることもできます。throwは以下の書式になります。
throw エラー番号やメッセージなど
例えば以下のようにthrow "xyz"とするとmsgにxyzの文字が渡されます。これにより渡された内容に応じて処理を分けることができます。
catch(msg)
{
alert(msg);
}
■実際のスクリプトをダウンロード(sample.jsx.zip)