Components.returnCode
は、return
命令による戻り値に加えて XPCOM の結果コードを保持できるプロパティです。
Note that Components.returnCode
is currently non-functional due to バグ 287107. This problem was introduced in Mozilla 1.4.
使い方
Components.returnCode
は、JavaScript メソッドが特定の nsresult
コードを返すことを、そのメソッドの XPCOM 呼び出し元へ示すのに利用できるプロパティです。
一般的には、XPConnect は JavaScript コードが nsresult
コードを心配する必要のないようにうまく働きます。デフォルトでは、JavaScript メソッドの結果が成功だと、XPConnect は結果コード NS_OK
を呼び出し元へ返します。もし JavaScript コードが失敗のシグナルを送る必要がある場合は、例外を投げることで果たします。しかし、成功コードの返り値を規定した XPCOM インターフェースがごくわずかに存在します。Components.returnCode
はそれら稀なインターフェースを JavaScript で実装できるようにするために存在します。
実例
var foo = { bar: function(i) { if (yada_yada) Components.returnCode = 5; return i * 2; } };