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