aboutsummaryrefslogtreecommitdiff
path: root/files/ja/mozilla/tech/xpcom/language_bindings/components.results/index.html
diff options
context:
space:
mode:
Diffstat (limited to 'files/ja/mozilla/tech/xpcom/language_bindings/components.results/index.html')
-rw-r--r--files/ja/mozilla/tech/xpcom/language_bindings/components.results/index.html40
1 files changed, 40 insertions, 0 deletions
diff --git a/files/ja/mozilla/tech/xpcom/language_bindings/components.results/index.html b/files/ja/mozilla/tech/xpcom/language_bindings/components.results/index.html
new file mode 100644
index 0000000000..129d147668
--- /dev/null
+++ b/files/ja/mozilla/tech/xpcom/language_bindings/components.results/index.html
@@ -0,0 +1,40 @@
+---
+title: Components.results
+slug: Mozilla/Tech/XPCOM/Language_Bindings/Components.results
+tags:
+ - 'XPCOM:Language Bindings'
+ - XPConnect
+translation_of: Mozilla/Tech/XPCOM/Language_Bindings/Components.results
+---
+<p>
+</p><p><code>Components.results</code> は、<code><a href="https://dxr.mozilla.org/mozilla-central/source/js/src/xpconnect/src/xpc.msg" rel="custom">js/src/xpconnect/src/xpc.msg</a></code> にあるマクロの最初のパラメータとしてリストされた名前のプロパティを持つ、読み出し専用オブジェクトです。各オブジェクトの値はそのコンスタントの値に対応しています。
+</p>
+<h2 id="はじめに"> はじめに </h2>
+<p><code>Components.results</code> は、よく知られた XPCOM の結果コードの名前をプロパティに持つオブジェクトで、それぞれの値は対応する結果コードに対応しています。このオブジェクトのプロパティは、未知の nsresult 変数をテストするのに利用したり、失敗を示すために「投げ」たりできます。
+</p>
+<pre class="eval"> if(something_unexpected_happened)
+ throw Components.results.NS_ERROR_UNEXPECTED;
+</pre>
+<p><code>Components.results</code> オブジェクトのプロパティは <code><a href="ja/Core_JavaScript_1.5_Reference/Statements/for...in">for...in</a></code> ループを使って列挙できます。
+</p>
+<h2 id="使い方"> 使い方 </h2>
+<h3 id="nsISupports_の実装"> <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code> の実装 </h3>
+<p>The standard <code><a href="/ja/docs/Mozilla/Tech/XPCOM/Reference/Interface/nsISupports" title="">nsISupports</a></code> is usually implemented in JavaScript by using <code>Components.results</code> to get a failure return value if <code> does not implement the given interface. Note the common use of an abbreviation for &lt;code&gt;Components.results</code>, <code>Cr</code>:
+</p>
+<pre class="eval">const Ci = Components.interfaces, Cr = Components.results;
+
+function Class()
+{
+ /* ... */
+}
+Class.prototype =
+{
+ /* ... */
+ QueryInterface: function(id)
+ {
+ if (id.equals(Ci.IMyInterface))
+ return this;
+ throw Cr.NS_ERROR_NO_INTERFACE;
+ }
+};
+</pre>