WebAssembly.Exception 构造函数

Baseline 已广泛支持

此功能已成熟,并可在许多设备和浏览器版本上使用。自 2022 年 5 月以来,它已在各个浏览器中可用。

WebAssembly.Exception() 构造函数用于创建一个新的 WebAssembly.Exception

该构造函数接受一个 Tag 参数和一个包含数据字段的 payload 数组。每个 payload 元素的数据类型必须与 Tag 中指定的相应数据类型匹配。

该构造函数还可以接受一个 options 对象。可以将 options.traceStack 属性设置为 true(默认为 false),以指示 Wasm 调用堆栈跟踪可能附加到异常的 stack 属性。

语法

js
new Exception(tag, payload)
new Exception(tag, payload, options)

参数

tag

一个 WebAssembly.Tag,定义了 payload 中每个值的预期数据类型。

payload

一个由一个或多个数据字段组成的数组,构成了异常的 payload。元素必须与 tag 中相应元素的类型匹配。如果 payload 中的数据字段数量及其类型不匹配,则会抛出 TypeError 异常。

options 可选 非标准

一个包含以下可选字段的对象

traceStack 可选 非标准

如果 Exception 可能在其 stack 属性中附加了调用堆栈跟踪,则为 true,否则为 false。如果未提供 optionsoptions.traceStack,则默认为 false

异常

TypeError

payloadtag 的序列不具有相同数量的元素,并且/或者元素类型不匹配。

示例

此示例展示了如何使用简单的标签创建异常。

js
// Create tag and use it to create an exception
const tag = new WebAssembly.Tag({ parameters: ["i32", "f32"] });
const exception = new WebAssembly.Exception(tag, [42, 42.3]);

stack 示例 展示了使用 options 参数创建异常。

规范

规范
WebAssembly JavaScript 接口:异常处理
# dom-exception-exception

浏览器兼容性

另见