鉛筆で印刷するプリンターへぇ。これはなかなか良いアイデアだ。印刷物が消しゴムで消せるってのは新たな体験だろうな。
大抵のプログラミング言語には、エラーを検出し、例外処理を行う仕組みが用意されています。JavaScriptであれば「try〜catch文」がそれにあたります。基本的には以下のように使います。
このように、通常はエラーが出ないことを期待しつつ、万が一のため、catchに例外処理(エラー)を用意しておくといった使い方をしますが、以下で説明するような「打たせて取る」といった使い方も有用です。例えば、あるスウォッチ名がそのドキュメントに存在するかを調べるときがそうです。
まずその前に、同じことをtry〜catch文を使わない「きまじめなコード」で考えてみましょう。
上のコードは指定されたスウォッチ名をドキュメントにある全てのスウォッチ名と比較して結果を返しています。処理の特性上、恐らくこのような関数化も必要になってくるでしょう(もしくは無名関数+if文など)。
このような処理が必要な場合もありますが、単にスウォッチの有無を調べエラーを弾くだけなら、try〜catch文で以下のように処理することも可能です。
このナンセンスコードがそのまま通れば、そのスウォッチ名が存在することになり、エラーが出たら存在しないということになります。
とにかく打たせてエラーが出たら取る。try〜catch文はそういう使い方もアリなのです。