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-standardPath to file that raised this error. Inherited from
Error
.URIError.prototype.lineNumber
Non-standardLine number in file that raised this error. Inherited from
Error
.URIError.prototype.columnNumber
Non-standardColumn number in line that raised this error. Inherited from
Error
.URIError.prototype.stack
Non-standardStack 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® 2026 Language Specification # sec-native-error-types-used-in-this-standard-urierror |