InDesign CS3自動化作戦 (InDesign CS3 Automation Operation)

例外処理(エラー処理)を行う

■プログラム説明(ソースコード説明)
 変数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)

写真素材 PIXTA