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
132
133
134
|
---
title: URIError
slug: Web/JavaScript/Reference/Global_Objects/URIError
tags:
- Error
- JavaScript
- URIError
- 对象
translation_of: Web/JavaScript/Reference/Global_Objects/URIError
---
<div>{{JSRef}}</div>
<p>URIError 对象用来表示以一种错误的方式使用全局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> 【非标准内联】</dt>
<dd>选填。包含造成异常的代码的文件名称。</dd>
<dt><code>lineNumber</code> 【非标准内联】</dt>
<dd>选填。造成异常的代码行号。</dd>
</dl>
<h2 id="描述">描述</h2>
<p>当向全局 URI 处理函数传递一个不合法的URI时,URIError 错误会被抛出。</p>
<h2 id="属性">属性</h2>
<dl>
<dt>{{jsxref("URIError.prototype")}}</dt>
<dd>允许向一个 URIError 对象添加额外的属性。</dd>
</dl>
<h2 id="方法">方法</h2>
<p>虽然全局 URIError 对象没有任何自己的方法,但是它能通过原型链继承一些方法。</p>
<h2 id="URIError_实例"><code>URIError 实例</code></h2>
<h3 id="属性_2">属性</h3>
<div>{{page('/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/URIError/prototype', '属性')}}</div>
<h3 id="方法_2">方法</h3>
<div>{{page('/zh-CN/docs/Web/JavaScript/Reference/Global_Objects/URIError/prototype', '方法')}}</div>
<h2 id="示例">示例</h2>
<h3 id="捕获一个_URIError_实例">捕获一个 <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>初始定义</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>
|