URIError

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

Syntax

new URIError([message[, fileName[, lineNumber]]])

Parameters

message Optional
Optional. Human-readable description of the error.
fileName Optional 
Optional. The name of the file containing the code that caused the exception.
lineNumber Optional 
Optional. The line number of the code that caused the exception.

Description

A URIError is thrown when the global URI handling functions are passed a malformed URI.

Properties

URIError.prototype
Allows the addition of properties to a URIError object.

Methods

The global URIError contains no methods of its own. However, it does inherit some methods through the prototype chain.

URIError instances

Properties

URIError.prototype.constructor
Specifies the function that created an instance's prototype.
URIError.prototype.message
Error message. Although ECMA-262 specifies that URIError should provide its own message property, in SpiderMonkey, it inherits Error.prototype.message.
URIError.prototype.name
Error name. Inherited from Error.
URIError.prototype.fileName
Path to file that raised this error. Inherited from Error.
URIError.prototype.lineNumber
Line number in file that raised this error. Inherited from Error.
URIError.prototype.columnNumber
Column number in line that raised this error. Inherited from Error.
URIError.prototype.stack
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

Specification
ECMAScript Latest Draft (ECMA-262)
The definition of 'URIError' in that specification.

Browser compatibility

Update compatibility data on GitHub
DesktopMobileServer
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidFirefox for AndroidOpera for AndroidSafari on iOSSamsung InternetNode.js
URIErrorChrome Full support 1Edge Full support 12Firefox Full support 1IE Full support 5.5Opera Full support YesSafari Full support 1WebView Android Full support 1Chrome Android Full support 18Firefox Android Full support 4Opera Android Full support YesSafari iOS Full support 1Samsung Internet Android Full support 1.0nodejs Full support Yes

Legend

Full support  
Full support

See also