URIError
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
* Some parts of this feature may have varying levels of support.
URIError
物件在全域的 URI 處理函式被錯誤使用時作為一個錯誤被拋出。
語法
new URIError([message[, fileName[, lineNumber]]])
參數
message
-
可選。具人類可讀性的錯誤說明
fileName
Non-standard-
可選。包含造成錯誤發生的程式碼的檔案名稱
lineNumber
Non-standard-
可選。造成錯誤發生的程式碼行號
說明
URIError
在全域的 URI 處理函式被傳入了一個錯誤編碼的 URI 時被拋出。
屬性
URIError.prototype
-
允許對一個
URIError
物件增加其屬性。
方法
普遍的 URIError
自身沒有包含方法,儘管他的確從原型鍊中繼承了一些。
URIError
物件實體
屬性
URIError.prototype.message
-
Error message. Inherited from
Error
. URIError.prototype.name
-
Error name. Inherited from
Error
. URIError.prototype.cause
-
Error cause. Inherited from
Error
. URIError.prototype.fileName
Non-standard-
Path to file that raised this error. Inherited from
Error
. URIError.prototype.lineNumber
Non-standard-
Line number in file that raised this error. Inherited from
Error
. URIError.prototype.columnNumber
Non-standard-
Column number in line that raised this error. Inherited from
Error
. URIError.prototype.stack
Non-standard-
Stack trace. Inherited from
Error
.
範例
Catch 一個 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"
}
規範
Specification |
---|
ECMAScript® 2025 Language Specification # sec-native-error-types-used-in-this-standard-urierror |
瀏覽器相容性
BCD tables only load in the browser