URIError - JavaScript 编辑

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

语法

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

参数

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

描述

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

属性

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

方法

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

URIError 实例

属性

URIError.prototype.constructor
声明创建实例原型 (prototype) 的方法。
URIError.prototype.message
错误信息。虽然 ECMA-262 规范指出 URIError 应该提供其自己专属的 message 属性,但是在 SpiderMonkey 中,该属性继承自 Error.prototype.message
URIError.prototype.name
错误名称。继承自 Error
URIError.prototype.fileName
产生该错误的代码所在文件的路径。 继承自 Error
URIError.prototype.lineNumber
产生该错误的代码所在行的行号。继承自 Error
URIError.prototype.columnNumber
产生该错误的代码所在列的列号。 继承自 Error
URIError.prototype.stack
堆栈记录。继承自 Error

方法

虽然 URIError 的原型对象自身不包含任何方法,但是 URIError 的实例通过原型链(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 (ECMA-262)
URIError
Living Standard 

浏览器兼容

BCD tables only load in the browser

浏览器兼容性表由结构化数据生成。如果你想贡献这部分数据,请您通过https://github.com/mdn/browser-compat-data向我们pull request。

参见

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据

词条统计

浏览:109 次

字数:8098

最后编辑:6年前

编辑次数:0 次

    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文