@@ -14559,12 +14559,19 @@ The {{DOMException}} type is an [=interface type=] defined by the following IDL
14559
14559
fragment:
14560
14560
14561
14561
<pre class="idl">
14562
+
14563
+ dictionary DOMExceptionOptions {
14564
+ any cause;
14565
+ DOMString name;
14566
+ };
14567
+
14562
14568
[Exposed=(Window,Worker),
14563
14569
Serializable]
14564
14570
interface DOMException { // but see below note about ECMAScript binding
14565
- constructor(optional DOMString message = "", optional DOMString name = "Error");
14571
+ constructor(optional DOMString message = "", optional ( DOMString or DOMExceptionOptions) nameOrOptions = "Error");
14566
14572
readonly attribute DOMString name;
14567
14573
readonly attribute DOMString message;
14574
+ readonly attribute any cause;
14568
14575
readonly attribute unsigned short code;
14569
14576
14570
14577
const unsigned short INDEX_SIZE_ERR = 1;
@@ -14598,22 +14605,37 @@ interface DOMException { // but see below note about ECMAScript binding
14598
14605
Note: as discussed in [[#es-DOMException-specialness]], the ECMAScript binding imposes additional
14599
14606
requirements beyond the normal ones for [=interface types=].
14600
14607
14601
- Each {{DOMException}} object has an associated <dfn for="DOMException">name</dfn> and
14602
- <dfn for="DOMException">message</dfn>, both [=strings=].
14608
+ Each {{DOMException}} object has associated fields:
14609
+
14610
+ * its <dfn for="DOMException">name</dfn>, which is [=strings=],
14611
+ * its <dfn for="DOMException">message</dfn>, which is [=strings=],
14612
+ * its <dfn for="DOMException">cause</dfn>, which is {{any}} value.
14603
14613
14604
14614
The
14605
- <dfn constructor for="DOMException" lt="DOMException(message, name)"><code>new DOMException(|message|, |name|)</code></dfn>
14615
+ <dfn constructor for="DOMException" lt="DOMException(message, nameOrOptions)">
14616
+ <code>new DOMException(|message|, |nameOrOptions|)</code>
14617
+ </dfn>
14606
14618
constructor steps are:
14607
14619
14608
- 1. Set [=this=]'s [=DOMException/name=] to |name|.
14609
- 1. Set [=this=]'s [=DOMException/message=] to |message|.
14620
+ 1. Set [=this=]'s [=DOMException/message=] to |message|.
14621
+ 1. If |nameOrOptions| is a string, set [=this=]'s [=DOMException/name=] to
14622
+ |nameOrOptions|.
14623
+ 1. Else,
14624
+ 1. If |nameOrOptions|'name is present, set [=this=]'s [=DOMException/name=]
14625
+ to |nameOrOptions|'s name, else set [=this=]'s [=DOMException/name=]
14626
+ to "Error".
14627
+ 1. If |nameOrOptions|'cause is present, set [=this=]'s [=DOMException/cause=]
14628
+ to |nameOrOptions|'s cause.
14610
14629
14611
14630
The <dfn attribute for="DOMException"><code>name</code></dfn> getter steps are to return
14612
14631
[=this=]'s [=DOMException/name=].
14613
14632
14614
14633
The <dfn attribute for="DOMException"><code>message</code></dfn> getter steps are to
14615
14634
return [=this=]'s [=DOMException/message=].
14616
14635
14636
+ The <dfn attribute for="DOMException"><code>cause</code></dfn> getter steps are to
14637
+ return [=this=]'s [=DOMException/cause=].
14638
+
14617
14639
The <dfn attribute for="DOMException"><code>code</code></dfn> getter steps are to return the legacy
14618
14640
code indicated in the [=error names table=] for [=this=]'s [=DOMException/name=], or 0 if no such
14619
14641
entry exists in the table.
0 commit comments