| [ Web Proxy ] |
| Viewing: https://developer.mozilla.org/fr/docs/WebAssembly/Reference/JavaScript_interface/Tag | [Back] [Original] |
Get to know MDN better
Cette page a t traduite partir de l'anglais par la communaut. Vous pouvez contribuer en rejoignant la communaut francophone sur MDN Web Docs.
Cette fonctionnalit est bien tablie et fonctionne sur de nombreux appareils et versions de navigateurs. Elle est disponible sur tous les navigateurs depuis mai 2022.
* Certaines parties de cette fonctionnalit peuvent bnficier de prise en charge variables.
L'objet WebAssembly.Tag dfinit un type d'exception WebAssembly qui peut tre leve depuis ou vers du code WebAssembly.
Lorsqu'on cre un objet WebAssembly.Exception, la balise (tag) dfinit les types de donnes et l'ordre des valeurs portes par l'exception. La mme instance de cette balise doit tre utilise ensuite afin d'accder aux valeurs portes par les exceptions dclenches (par exemple, en utilisant la mthode Exception.prototype.getArg()).
Construire une instance de Tag cre une nouvelle balise unique. Cette balise peut ensuite tre passe un module WebAssembly pour qu'il l'importe et qui deviendra alors une balise type, dfinie dans la section des balises (tag section) du module WebAssembly. On peut aussi exporter une balise dfinie dans un module pour l'utiliser afin d'inspecter les exceptions dclenches par le module.
Note : Il n'est pas possible d'accder aux valeurs d'une exception avec une autre balise qui dcrirait la mme structure. Il faut que ce soit exactement la mme balise qui soit utilise ! Cela permet de s'assurer que les modules WebAssembly puissent garder prives des informations sur les exceptions internes si ncessaire. Le code JavaScript peut toujours intercepter et relancer les exceptions qu'il ne peut pas inspecter.
WebAssembly.Tag()Cre un nouvel objet WebAssembly.Tag.
Tag.prototype.type()Renvoie l'objet dfinissant le tableau des types de donnes de la balise (tel que dfini lors de la construction).
Le fragment de code qui suit cre une nouvelle instance de Tag.
const tagToImport = new WebAssembly.Tag({ parameters: ["i32", "f32"] });
Dans le fragment qui suit, on illustre comment on peut passer cette balise un module exemple.wasm lors de l'instanciation, l'aide d'un objet d'import.
const importObject = { "extmod": {"exttag": tagToImport} }
WebAssembly.instantiateStreaming(fetch('exemple.wasm'), importObject )
.then(obj => {
Le module WebAssembly pourra alors importer la balise comme ceci :
(module
(import "extmod" "exttag" (tag $tagname (param i32 f32)) )
Si la balise est ensuite utilise pour lever une exception qui atteint le code, on pourra l'utiliser pour inspecter les valeurs portes par l'exception.
Note :
Il existe d'autres faons : on pourrait aussi utiliser la balise afin de crer un objet WebAssembly.Exception et la dclencher depuis une fonction appele ct WebAssembly.
| Spcification |
|---|
| WebAssembly JavaScript Interface: Exception Handling # tag |
Cette page a t modifie le 7 sept. 2025 par les contributeurices du MDN.
Certaines parties de ce contenu sont protges par le droit d'auteur 19982026 des contributeurs individuels de mozilla.org. Contenu disponible sous une licence Creative Commons.
| Web Proxy Viewer | New URL | Original Page |