Components.utils.reportError

Components.utils.reportError は、エラーコンソールに JavaScript の Error オブジェクトを送り、プログラムの実行に戻ります。例外を「食べて」おきながらも、例外をコンソールに送りたい例外処理ブロックで用います。

これは必ずパラメータを 1 つ用いて呼び出します。通常、このパラメータは例外ハンドラが受け取ったオブジェクトです。それが JavaScript のエラーオブジェクトでなければ、パラメータは文字列に変換され、新しくエラーとして送られます。つまり、Components.utils.reportError を用いてデバッグメッセージをエラーコンソールに送ることができるということです。dump() を用いるとネイティブコンソールにメッセージを出力できるのと同じようなものです。

しかしながら、記録をとるには nsIConsoleService を使用すべきです。これは reportError とは異なり、メッセージを通常の深刻度で記録するためです。

function myDump(aMessage) {
  var consoleService = Components.classes["@mozilla.org/consoleservice;1"]
                                 .getService(Components.interfaces.nsIConsoleService);
  consoleService.logStringMessage("My component: " + aMessage);
}

例外ハンドラでの使用:

try {
  this.could.raise.an.exception;
} catch(e) {
  Components.utils.reportError(e); // エラーを送り、実行を続ける
}

エラーコンソールへのデバッグメッセージの出力:

Components.utils.reportError("init() called");

ドキュメントのタグと貢献者

 このページの貢献者: Marsf, Mgjbot, Electrolysis, Fumi
 最終更新者: Marsf,