URIError() constructor
The URIError()
constructor creates an error when a global
URI handling function was used in a wrong way.
Syntax
new URIError()
new URIError(message)
new URIError(message, options)
new URIError(message, fileName)
new URIError(message, fileName, lineNumber)
URIError()
URIError(message)
URIError(message, options)
URIError(message, fileName)
URIError(message, fileName, lineNumber)
Note: URIError()
can be called with or without new
. Both create a new URIError
instance.
Parameters
message
Optional-
Human-readable description of the error.
options
Optional-
An object that has the following properties:
cause
Optional-
A property indicating the specific cause of the error. When catching and re-throwing an error with a more-specific or useful error message, this property can be used to pass the original error.
fileName
Optional Non-standard-
The name of the file containing the code that caused the exception.
lineNumber
Optional Non-standard-
The line number of the code that caused the exception.
Examples
Catching an 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"
}
Creating an 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"
}
Specifications
Specification |
---|
ECMAScript Language Specification # sec-nativeerror-constructors |
Browser compatibility
BCD tables only load in the browser