URIError 对象用来表示以一种错误的方式使用全局URI处理函数而产生的错误。
new URIError([message[, fileName[, lineNumber]]])
message
fileName
【非标准内联】lineNumber
【非标准内联】当向全局 URI 处理函数传递一个不合法的URI时,URIError 错误会被抛出。
URIError.prototype
虽然全局 URIError 对象没有任何自己的方法,但是它能通过原型链继承一些方法。
URIError 实例
URIError.prototype.constructor
URIError.prototype.message
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 实例
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 |
Draft |
Desktop | Mobile | Server | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
URIError | Chrome Full support Yes | Edge Full support Yes | Firefox Full support 1 | IE Full support Yes | Opera Full support Yes | Safari Full support Yes | WebView Android Full support Yes | Chrome Android Full support Yes | Edge Mobile Full support Yes | Firefox Android Full support 4 | Opera Android Full support Yes | Safari iOS Full support Yes | Samsung Internet Android Full support Yes | nodejs Full support Yes |