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, fileName)
new URIError(message, fileName, lineNumber)

Parameters

message Optional
Human-readable description of the error.
fileName Optional
The name of the file containing the code that caused the exception.
lineNumber Optional
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 (ECMAScript)
# sec-nativeerror-constructors

Browser compatibility

BCD tables only load in the browser

See also