JavaScriptのtry-catchのcatch句で取得できる例外オブジェクトは、エラーの内容を伝えるためにnameとmessageプロパティを持っています。
JavaScriptの標準規格では、例外オブジェクトが持っているプロパティは2つのみですが、firefox等の一部のブラウザでは、これらに加えてエラーが発生したファイルや行番号の情報も取得することが可能です。
これらの情報はfirefoxの場合はfileName,lineNumberで取得できますが、標準仕様からの拡張である為、IEでは取得することが出来ません。
ブラウザの互換性まで考慮したうえで、以下のようなエラー処理を書いておくとデバッグ作業が捗ります。
function errorFunc() { try { // 例外を発生させる(存在しないオブジェクトのプロパティを参照) a.data; } catch ( e ) { var ermsg = "例外が発生しました :" + e.message; if ( e.fileName && e.lineNumber ) { // エラーの発生場所が取れる場合は、情報を追加する ermsg += "\nファイル:" + e.fileName + ", 行:" + e.lineNumber; } console.log( ermsg ); } } errorFunc(); |
関連記事
コメントを残す