Components.utils.reportError
出典: MDC
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");