1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
|
---
title: URIError
slug: Web/JavaScript/Reference/Global_Objects/URIError
translation_of: Web/JavaScript/Reference/Global_Objects/URIError
---
<div>{{JSRef}}</div>
<p><code><strong>URIError</strong></code> 物件在全域的URI處理函式被錯誤使用時作為一個錯誤被拋出。</p>
<h2 id="語法">語法</h2>
<pre class="syntaxbox"><code>new URIError([<var>message</var>[, <var>fileName</var>[, <var>lineNumber</var>]]])</code></pre>
<h3 id="參數">參數</h3>
<dl>
<dt><code>message</code></dt>
<dd>可選。具人類可讀性的錯誤說明</dd>
<dt><code>fileName</code> {{non-standard_inline}}</dt>
<dd>可選。包含造成錯誤發生的程式碼的檔案名稱</dd>
<dt><code>lineNumber</code> {{non-standard_inline}}</dt>
<dd>可選。造成錯誤發生的程式碼行號</dd>
</dl>
<h2 id="說明">說明</h2>
<p><code>URIError</code> 在全域的URI處理函式被傳入了一個錯誤編碼的URI時被拋出。</p>
<h2 id="屬性">屬性</h2>
<dl>
<dt>{{jsxref("URIError.prototype")}}</dt>
<dd>允許對一個 <code>URIError</code> 物件增加其屬性。</dd>
</dl>
<h2 id="方法">方法</h2>
<p>普遍的 <code>URIError</code> 自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。</p>
<h2 id="URIError_物件實體"><code>URIError</code> 物件實體</h2>
<h3 id="屬性_2">屬性</h3>
<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError/prototype', 'Properties')}}</div>
<h3 id="方法_2">方法</h3>
<div>{{page('/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError/prototype', 'Methods')}}</div>
<h2 id="範例">範例</h2>
<h3 id="Catch_一個_URIError">Catch 一個 <code>URIError</code></h3>
<pre class="brush: js">try {
decodeURIComponent('%');
} catch (e) {
console.log(e instanceof URIError); // true
console.log(e.message); // "malformed URI sequence"
console.log(e.name); // "URIError"
console.log(e.fileName); // "Scratchpad/1"
console.log(e.lineNumber); // 2
console.log(e.columnNumber); // 2
console.log(e.stack); // "@Scratchpad/2:2:3\n"
}
</pre>
<h3 id="生成一個_URIError">生成一個 <code>URIError</code></h3>
<pre class="brush: js">try {
throw new URIError('Hello', 'someFile.js', 10);
} catch (e) {
console.log(e instanceof URIError); // true
console.log(e.message); // "Hello"
console.log(e.name); // "URIError"
console.log(e.fileName); // "someFile.js"
console.log(e.lineNumber); // 10
console.log(e.columnNumber); // 0
console.log(e.stack); // "@Scratchpad/2:2:9\n"
}
</pre>
<h2 id="規範">規範</h2>
<table class="standard-table">
<tbody>
<tr>
<th scope="col">規範</th>
<th scope="col">狀態</th>
<th scope="col">註</th>
</tr>
<tr>
<td>{{SpecName('ES3', '#sec-15.11.6.6', 'URIError')}}</td>
<td>{{Spec2('ES3')}}</td>
<td>Initial definition</td>
</tr>
<tr>
<td>{{SpecName('ES5.1', '#sec-15.11.6.6', 'URIError')}}</td>
<td>{{Spec2('ES5.1')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ES6', '#sec-native-error-types-used-in-this-standard-urierror', 'URIError')}}</td>
<td>{{Spec2('ES6')}}</td>
<td> </td>
</tr>
<tr>
<td>{{SpecName('ESDraft', '#sec-native-error-types-used-in-this-standard-urierror', 'URIError')}}</td>
<td>{{Spec2('ESDraft')}}</td>
<td> </td>
</tr>
</tbody>
</table>
<h2 id="瀏覽器相容性">瀏覽器相容性</h2>
<div>
<p>{{Compat("javascript.builtins.URIError")}}</p>
</div>
<h2 id="另見">另見</h2>
<ul>
<li>{{jsxref("Error")}}</li>
<li>{{jsxref("URIError.prototype")}}</li>
<li>{{jsxref("Global_Objects/decodeURI", "decodeURI()")}}</li>
<li>{{jsxref("Global_Objects/decodeURIComponent", "decodeURIComponent()")}}</li>
<li>{{jsxref("Global_Objects/encodeURI", "encodeURI()")}}</li>
<li>{{jsxref("Global_Objects/encodeURIComponent", "encodeURIComponent()")}}</li>
</ul>
|