这篇翻译不完整。请帮忙从英语翻译这篇文章

URIError 对象用来表示以一种错误的方式使用全局URI处理函数而产生的错误。

语法

new URIError([message[, fileName[, lineNumber]]])

参数

message
选填的。易于理解的错误描述。
fileName 【非标准内联】
选填的。文件名称,它包含造成异常的代码。
lineNumber 【非标准内联】
选填的。造成异常的代码行号。

描述

当向全局URI处理函数传递一个错误的URI时,一个URIError错误会被抛出。

属性

URIError.prototype
允许向一个URIError对象添加额外的属性。

方法

虽然全局URIError对象没有任何自己的方法,但是它能通过原型链继承一些方法。

URIError实例

属性

URIError.prototype.constructor
Specifies the function that created an instance's prototype.
URIError.prototype.message
Error message. Although ECMA-262 specifies that URIError should provide its own message property, in SpiderMonkey, it inherits Error.prototype.message.
URIError.prototype.name
Error name. Inherited from Error.
URIError.prototype.fileName
Path to file that raised this error. Inherited from Error.
URIError.prototype.lineNumber
Line number in file that raised this error. Inherited from Error.
URIError.prototype.columnNumber
Column number in line that raised this error. Inherited from Error.
URIError.prototype.stack
Stack trace. Inherited from Error.

方法

Although the URIError prototype object does not contain any methods of its own, URIError instances do inherit some methods through the prototype chain.

事例

捕获一个 URIError 对象

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"
}

创建一个 URIError对象

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"
}

规范

规范 状态 注释
ECMAScript 3rd Edition (ECMA-262)
URIError
Standard 初始定义
ECMAScript 5.1 (ECMA-262)
URIError
Standard  
ECMAScript 2015 (6th Edition, ECMA-262)
URIError
Standard  
ECMAScript Latest Draft (ECMA-262)
URIError
Living Standard  

浏览器兼容

FeatureChromeEdgeFirefoxInternet ExplorerOperaSafari
Basic support Yes Yes Yes Yes Yes Yes
FeatureAndroid webviewChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
Basic support Yes Yes Yes Yes Yes Yes Yes

参见

文档标签和贡献者

 此页面的贡献者: HCH.no1
 最后编辑者: HCH.no1,