Javascriptでは値が取得できなかったり関数が未定義だったりするとエラーとなり、その後の処理が行われなくなります。
実際の制作でよくあるケースでは
1.特定のページでしか使わないjQueryプラグインを<script type="text/javascript">でそのページだけに設置する。
2.実行するための関数は全ページ共通のスクリプトファイルに書いてある。
3.1.以外のページでは「そんな関数ありませんよ」エラーが発生する。
というものです(実行処理もページごとに分けるという解決法が正しいのかもしれない)。
ifで無視してくれればいいのですが、javascriptはfalseであっても中の関数や値を評価するのでやっぱりエラーが発生してしまう。。。調べていたところ、PHPの@のようにエラーをスルーする構文としてtry~catchというものがあるようです。
1 2 3 4 5 |
try{ ここに処理を書く } catch(e){ ここにエラー時の処理。何も書かなければ何も起きない。 } |
という構文でエラーを発生することなく処理を継続させることができます。もちろんブラウザのエラー警告も出ません。
PHPの@と同じく処理への影響や賛否もあるでしょうが、エラーの原因を把握した上で使うのならいいんじゃないかと思って最近使っています。
ADs
コメントはまだありません。