URIError() constructor
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
TheURIError() constructor createsURIError objects.
In this article
Syntax
js
new URIError()new URIError(message)new URIError(message, options)new URIError(message, fileName)new URIError(message, fileName, lineNumber)URIError()URIError(message)URIError(message, options)URIError(message, fileName)URIError(message, fileName, lineNumber)Note:URIError() can be called with or withoutnew. Both create a newURIError instance.
Parameters
messageOptionalHuman-readable description of the error.
optionsOptionalAn object that has the following properties:
causeOptionalA property indicating the specific cause of the error.When catching and re-throwing an error with a more-specific or useful error message, this property can be used to pass the original error.
fileNameOptionalNon-standardThe name of the file containing the code that caused the exception.
lineNumberOptionalNon-standardThe line number of the code that caused the exception.
Examples
>Catching a URIError
js
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.stack); // Stack of the error}Creating a URIError
js
try { throw new URIError("Hello");} catch (e) { console.log(e instanceof URIError); // true console.log(e.message); // "Hello" console.log(e.name); // "URIError" console.log(e.stack); // Stack of the error}Specifications
| Specification |
|---|
| ECMAScript® 2026 Language Specification> # sec-nativeerror-constructors> |