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

Specification Status Comment
ECMAScript 3rd Edition (ECMA-262)
The definition of 'URIError' in that specification.
Standard Initial definition
ECMAScript 5.1 (ECMA-262)
The definition of 'URIError' in that specification.
Standard
ECMAScript 2015 (6th Edition, ECMA-262)
The definition of 'URIError' in that specification.
Standard
ECMAScript 2017 Draft (ECMA-262)
The definition of 'URIError' in that specification.
Draft

Browser compatibility

Feature Chrome Firefox (Gecko) Internet Explorer Opera Safari
Basic support (Yes) (Yes) (Yes) (Yes) (Yes)
Feature Android Chrome for Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Basic support (Yes) (Yes) (Yes) (Yes) (Yes) (Yes)

See also

© 2005–2017 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