Components.returnCode
is a property which can hold an XPCOM return code additionally to the value returned by the return
statement.
Note that Components.returnCode
is currently non-functional due to bug 287107. This problem was introduced in Mozilla 1.4.
Usage
Components.returnCode
is a property that can be used to indicate to an XPCOM caller of the JavaScript method that the method is returning a specific nsresult
code.
Generally, XPConnect does a fine job of making it unnecessary for JavaScript code to worry about nsresult
codes. By default the successful completion of the JavaScript method will cause XPConnect to return a result code of NS_OK
to the caller. If the JavaScript code needs to signal failure then that is done by throwing an exception. However, there are a very few XPCOM interfaces that specify success code return values. Components.returnCode
exists in order to make it possible to implement these rare interfaces in JavaScript.
Example
var foo = { bar: function(i) { if (yada_yada) Components.returnCode = 5; return i * 2; } };