2018年3月17日土曜日

[JavaScript] エラーを無視して実行する方法

How to forcibly execute mistaked code

JavaScript のコードにエラーがあっても実行を止めない方法をいくつか試してまとめました。
どうしても動作しないコードをスキップして処理を継続したいときに使えそうです。
blog.fujiu.jp [JavaScript] エラーを無視して実行する方法


環境

  • Windows 10
  • Internet Explorer 11


未定義の関数のエラーを無視する方法

JavaScript は未定義の関数を実行するとエラーが発生し、その時点で実行が終了します。
たとえば alert を arert にタイプミスした次のコードはエラーで終了します。


このようなエラーがあっても実行を続行させるには try catch を使って次のようにコーディングします。


arert という関数が定義されていれば実行され、定義されていなければ catch (e) の {} の中のコードが実行されます。
実行時に関数が定義されているかわからない環境で使えそうです。


未定義の要素を参照したときのエラーを無視する方法

未定義の要素を参照したときもエラーが発生し、その時点で実行が終了します。
HTML 文章に id="nothing" という要素がない場合に次のコードを実行するとエラーになります。


このコードも try catch で囲めばエラーを起こさず実行出来ますが、別の方法もあります。
次のように if 文を使うとHTML 文章に要素があれば直後の {} の中のコードが実行され、要素がなければエラーにならずに else {} の中が実行されます。
else {} は省略可能です。



シンタックスエラー (文法ミス) を無視する方法

上の2点は文法が正常なコードを前提にしています。
JavaScript はシンタックスエラーのコードをそのまま実行できません。
たとえば次のコードは if を iv にタイプミスしているので実行できません。


このようなミスを含むコードを実行するためには eval 関数を使います。


eval 関数が実行されるとシンタックスエラーが発生し、その時点で実行が終了されます。
実行を継続するには try catch を使います。


これでシンタックスエラーを無視して実行を継続できます。


関連ブログ

JavaScript でグラフを作る方法 (Chart.js)
Visual Studio Code で Angular の開発環境を構築する方法


0 件のコメント:

コメントを投稿

注: コメントを投稿できるのは、このブログのメンバーだけです。