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
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 danspayload
. 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 exceptionTypeError
sera levée. options
Facultatif-
Un objet avec la propriété optionnelle suivante :
traceStack
Facultatif-
true
si l'objetException
peut avoir sa pile d'appels attachée via sa propriétéstack
,false
sinon (qui correspond au comportement par défaut sioptions
ou sioptions.traceStack
n'est pas fourni).
Exceptions
TypeError
-
Les séquences de valeurs pour
payload
ettag
ne correspondent pas en nombre ou en type.
Exemples
Dans cet exemple, on illustre la création d'une exception avec une balise simple.
// 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