W3cubDocs

/JavaScript

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

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.

Methods

Although the URIError prototype object does not contain any methods of its own, URIError instances do inherit some methods through the prototype chain.

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

Feature Chrome Edge Firefox Internet Explorer Opera Safari
Basic support Yes Yes Yes Yes Yes Yes
Feature Android webview Chrome for Android Edge mobile Firefox for Android IE mobile Opera Android iOS Safari
Basic support Yes Yes Yes Yes Yes Yes Yes

See also

© 2005–2018 Mozilla Developer Network and individual 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