Constructeur pour WebAssembly.Exception

Le constructeur WebAssembly.Exception() permet de créer des objets WebAssembly.Exception.

Le constructeur prend comme arguments une balise Tag et un tableau payload de champs de données. Les types de données pour chaque élément du tableau payload doivent correspondre aux types de données définis par la balise Tag.

Il est aussi possible de passer comme argument un objet options. Pour cet objet, on peut passer la propriété options.traceStack à true (elle vaut false par défaut) afin d'indiquer que le code WebAssembly qui lève l'exception peut renseigner la propriété stack de l'exception avec la trace de la pile d'appels.

Syntaxe

js
new Exception(tag, payload, options);

Paramètres

tag

Un objet WebAssembly.Tag qui définit les types de données attendus pour chaque valeur contenue dans payload.

payload

Un tableau contenant un ou plusieurs champs de données qui forment la charge utile de l'exception. Les types des éléments doivent correspondre à ceux décrits par la balise tag. Si le nombre de champs ou leurs types ne correspond pas, une exception TypeError sera levée.

options Facultatif

Un objet avec la propriété optionnelle suivante :

traceStack Facultatif

true si l'objet Exception peut avoir sa pile d'appels attachée via sa propriété stack, false sinon (qui correspond au comportement par défaut si options ou si options.traceStack n'est pas fourni).

Exceptions

TypeError

Les séquences de valeurs pour payload et tag ne correspondent pas en nombre ou en type.

Exemples

Dans cet exemple, on illustre la création d'une exception avec une balise simple.

js
// On crée une balise et on l'utilise pour créer une exception
const tag = new WebAssembly.Tag({ parameters: ["i32", "f32"] });
const exception = new WebAssembly.Exception(tag, [42, 42.3]);

L'exemple contenu dans la page stack illustre la création d'une exception avec le paramètre options.

Spécifications

Specification
WebAssembly JavaScript Interface: Exception Handling
# dom-exception-exception

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi