URIError

Baseline 广泛可用 *

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

* 此特性的某些部分可能存在不同级别的支持。

URIError 对象表示全局 URI 处理函数使用不当时发生的错误。

URIError 是一个可序列化对象,因此可以使用 structuredClone() 进行克隆,或者通过 postMessage()Workers 之间进行复制。

URIErrorError 的一个子类。

构造函数

URIError()

创建一个新的 URIError 对象。

实例属性

还继承了其父级 Error 的实例属性。.

这些属性定义在 URIError.prototype 上,并由所有 URIError 实例共享。

URIError.prototype.constructor

创建实例对象的构造函数。对于 URIError 实例,初始值为 URIError 构造函数。

URIError.prototype.name

表示错误的类型名称。对于 URIError.prototype.name,初始值为 "URIError"

实例方法

继承了其父级 Error 的实例方法。.

示例

捕获 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
}

创建 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
}

规范

规范
ECMAScript® 2026 语言规范
# sec-native-error-types-used-in-this-standard-urierror

浏览器兼容性

另见