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では、全てのエラーを拾うことが出来ない場合もあります。

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

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

 

都内でエンジニアをやっています。 3年前に脱サラ(法人設立)しました。 仕事で調べたことや、気になったことをメモしています。
投稿を作成しました 69

コメントを残す

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

関連する投稿

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

トップに戻る