WebAssembly.Exception 构造函数
Baseline
Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since 2022年5月.
WebAssembly.Exception() 构造函数用于创建一个新的 WebAssembly.Exception。
构造函数接受一个 Tag 参数和一个由数据字段组成的 payload 数组。每一个 payload 元素的数据类型必须匹配在 Tag 中指定的相应的数据类型。
构造函数也可以接受一个 options 对象。options.traceStack 属性可以设置为 true(默认为 false),表明可能将一个 Wasm 堆栈跟踪附着到异常的 stack 属性上。
语法
new Exception(tag, payload)
new Exception(tag, payload, options)
参数
tag-
WebAssembly.Tag定义的是payload中每个值所被期待的数据类型。 payload-
一个由一个或多个数据字段组成的数组,构成异常的载荷。元素的数据类型必须和
tag中对应元素的数据类型相匹配。如果载荷中的数据字段的数量不匹配,则抛出TypeError异常。 options可选 非标准-
一个对象,有下列的可选字段:
traceStack可选 非标准-
设置为
true表明Exception可能有一个附着到stack属性的堆栈跟踪,否者设置为false。这个属性默认为false(如果options或options.traceStack未提供的话)。
异常
TypeError-
payload和tag序列的元素数量不一致并且(或者)元素类型不匹配。
示例
这个例子展示的是用一个简单的标签创建一个异常。
// 创建标签并用它创建一个异常
const tag = new WebAssembly.Tag({ parameters: ["i32", "f32"] });
const exception = new WebAssembly.Exception(tag, [42, 42.3]);
stack 示例展示的是用 options 参数创建的一个异常。
规范
| Specification |
|---|
| WebAssembly JavaScript Interface: Exception Handling> # dom-exception-exception> |
浏览器兼容性
Loading…