W3cubDocs

/JavaScript

URIError

The URIError object represents an error when a global URI handling function was used in a wrong way.

URIError is a serializable object, so it can be cloned with structuredClone() or copied between Workers using postMessage().

Constructor

URIError()

Creates a new URIError object.

Instance properties

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-standard

Path to file that raised this error. Inherited from Error.

URIError.prototype.lineNumber Non-standard

Line number in file that raised this error. Inherited from Error.

URIError.prototype.columnNumber Non-standard

Column number in line that raised this error. Inherited from Error.

URIError.prototype.stack Non-standard

Stack trace. Inherited from Error.

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

Browser compatibility

Desktop Mobile Server
Chrome Edge Firefox Internet Explorer Opera Safari WebView Android Chrome Android Firefox for Android Opera Android Safari on IOS Samsung Internet Deno Node.js
URIError
1
12
1
5.5
5
1
4.4
18
4
10.1
1
1.0
1.0
0.10.0
URIError
1
12
1
5.5
5
1
4.4
18
4
10.1
1
1.0
1.0
0.10.0
serializable_object
77
79
103
["Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.", "Version 104 also serializes stack in window.postMessage() and structuredClone()."]
No
64
No
77
77
103
["Version 103 serializable properties: name, message, cause, fileName, lineNumber and columnNumber.", "Version 104 also serializes stack in window.postMessage() and structuredClone()."]
55
No
12.0
No
No

See also

© 2005–2022 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/URIError