diff options
Diffstat (limited to 'files/ja/mozilla/tech/xpcom/language_bindings/components.lastresult/index.html')
-rw-r--r-- | files/ja/mozilla/tech/xpcom/language_bindings/components.lastresult/index.html | 57 |
1 files changed, 0 insertions, 57 deletions
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/components.lastresult/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/components.lastresult/index.html deleted file mode 100644 index d830cc301c..0000000000 --- a/files/ja/mozilla/tech/xpcom/language_bindings/components.lastresult/index.html +++ /dev/null @@ -1,57 +0,0 @@ ---- -title: Components.lastResult -slug: Mozilla/Tech/XPCOM/Language_Bindings/Components.lastResult -tags: - - 'XPCOM:Language Bindings' - - XPConnect -translation_of: Mozilla/Tech/XPCOM/Language_Bindings/Components.lastResult ---- -<p> -</p><p><code>Components.lastResult</code> は XPConnect を介した直前の <a href="ja/XPCOM">XPCOM</a> メソッド呼び出しの結果コードである数値コード <code>nsresult</code> を返します。 -</p> -<h2 id="はじめに"> はじめに </h2> -<p><code>Components.lastResult</code> は一般的に、「成功」コードを返す XPCOM メソッドの結果のテストにのみ役立ちます。というのは、失敗した結果コードは XPConnect が例外に変換して、呼び出し元の JavaScript メソッドへ投げるからです。ほとんどのインターフェースは 1 つの成功コード (<code>NS_OK</code>) だけを返すので、<code>Components.lastResult</code> はほとんど必要ありません。 -</p><p><code>Components.lastResult</code> が利用される場合は、対象の呼び出しの後テストのためにローカル変数に保存することが、複数のテストを <code>Components.lastResult</code> に対して行うよりも適当です。多くの「Components」プロパティとメソッドは XPConnect で実装されていて、それに続く <code>Components.lastResult</code> 呼び出しは対象とした呼び出しでなく「暗黙的な」 XPConnect 呼び出しの結果を返すかもしれないからです。 -</p> -<h2 id="実例"> 実例 </h2> -<p>In the following example, the local variable <code>i</code> contains the actual result returned by <code>bar()</code> (assuming that <code>bar()</code> is called via XPConnect), and <code>Components.lastResult</code> contains the success code returned by <code>bar()</code>. -</p> -<pre class="eval">// Given that foo.bar is a method that might return -// the success codes NS_OK, '5', and '6' OR some error code... -try -{ - var i = foo.bar(); - - switch (Components.lastResult) - { - case Components.results.NS_OK: - // NS_OK is good! - break; - case 5: - // do something with 5 here - break; - case 6: - // do something with 6 here - break; - default: - // this was a success code we did not expect. Bad component! - break; - } - // and so on.... -} -catch (e) -{ - // the call threw an exception or a native component returned - // a failure code! - if (e instanceof Components.interfaces.nsIXPCException) - { - // we might do something interesting here with the exception object - var rv = e.result; - } - else - { - // if we don't know how to handle it then rethrow - throw e; - } -} -</pre> |