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.
URIError
物件在全域的 URI 處理函式被錯誤使用時作為一個錯誤被拋出。
語法
new URIError([message[, fileName[, lineNumber]]])
參數
message
-
可選。具人類可讀性的錯誤說明
fileName
非標準-
可選。包含造成錯誤發生的程式碼的檔案名稱
lineNumber
非標準-
可選。造成錯誤發生的程式碼行號
說明
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
非標準-
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
.
範例
Catch 一個 URIError
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"
}
生成一個 URIError
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"
}
規範
Specification |
---|
ECMAScript Language Specification # sec-native-error-types-used-in-this-standard-urierror |
瀏覽器相容性
BCD tables only load in the browser