JavaScript エラー を Servlet で 利用 する

現場で、フロントエンド側(JavaScript)で発生したエラーを、

servlet側に渡して、ログに出力したいという要件が有りました。

あまり求められたことが無い、珍しい要件だったので、

その時とったアプローチ方法をメモしておこうと思います。

 

対応方法

大まかに以下のような形で対応を行いました。

①JavaScriptでエラーが発生→window.onerror(JavaScript)でエラーをキャッチ

②キャッチしたエラー情報を、servlet側に渡せるように、jsp上のhiddenタグに設定

③jspからservletに、エラー情報をポスト

④JavaScriptで発生したエラー情報を、servlet内で文字列の情報として利用

◯参考情報:MDN window.onerror

 

その時に、検証用に作成したプロジェクトのソースをメモしておこうと思います。

 


検証プロジェクト 内容

JavaScriptエラーを意図的に発生させるdoErrorボタンと、

発生したエラー内容をservlet側にpostするpostErrorボタンを用意しました。

doErrorボタンを実行すると、JavaScriptエラーが発生し、

エラー内容を、htmlに表示します。

 

エラーが表示されている状態で、postErrorボタンをクリックすると、

postされてservlet側にエラー内容が届きます。

検証用ファイル JavaScript

意図的にJavaScriptエラーを発生させるFunctionを作成しました。

また、windows.onerrorをエラーハンドリングとして利用しています。

検証用ファイル Jsp

 

検証用ファイル Servlet

postされたエラー情報を抽出して、出力確認を行なっています。

 

以上が、メモ内容となります。

余談ですが、JavaScriptのフレームワークを採用している場合、

window.onerrorでは、全てのエラーを拾うことが出来ない場合もあります。

フレームワークを採用している場合、フレームワークで実装されている

エラーハンドラを利用することをお勧めします。

 


------------------------------------------ スポンサーリンク ------------------------------------------
都内でエンジニアをやっています。 2017年に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。 お仕事のご相談などは、以下サイトのコンタクトよりお気軽にご連絡下さい。
投稿を作成しました 95

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連投稿

検索語を上に入力し、 Enter キーを押して検索します。キャンセルするには ESC を押してください。

トップに戻る