How to forcibly execute mistaked code
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 件のコメント:
コメントを投稿
注: コメントを投稿できるのは、このブログのメンバーだけです。