Get to know MDN better
Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten. Erfahre mehr über dieses Experiment.
Diese Funktion ist gut etabliert und funktioniert auf vielen Geräten und in vielen Browserversionen. Sie ist seit Mai 2022 browserübergreifend verfügbar.
Die getArg() Methode des Exception Objekts kann verwendet werden, um den Wert eines bestimmten Elements in den Datenargumenten der Ausnahme zu erhalten.
Ein WebAssembly.Tag, das mit dem Tag übereinstimmen muss, das mit dieser Ausnahme verbunden ist.
indexDer Index des Wertes in den Datenargumenten, der zurückgegeben werden soll.
Der Wert des Arguments bei index.
Die Tags stimmen nicht überein; die Ausnahme wurde nicht mit dem an die Methode übergebenen Tag erstellt.
RangeErrorDer Wert des index-Parameters ist größer oder gleich der Anzahl der Felder in den Daten.
Die getArg() Methode akzeptiert ein WebAssembly.Tag als Parameter und wird nur erfolgreich sein, wenn die geworfene Exception mit demselben Tag erstellt wurde, andernfalls wird ein TypeError ausgelöst. Dies stellt sicher, dass die Ausnahme nur gelesen werden kann, wenn der aufrufende Code Zugriff auf das Tag hat. Tags, die weder in den WebAssembly-Code importiert noch aus diesem exportiert werden, sind intern, und ihre zugehörigen Ausnahmen können mit dieser Methode nicht abgefragt werden.
Hinweis: Es reicht nicht aus, dass das Tag eine identische Sequenz von Datentypen hat – es muss dieselbe Identität (dasselbe Tag) haben, das zur Erstellung der Ausnahme verwendet wurde.
Betrachten Sie den folgenden WebAssembly-Code, der angenommen wird, in eine Datei namens example.wasm kompiliert zu sein. Dieser importiert ein Tag, das intern als $tagname bezeichnet wird, und exportiert eine Methode run, die von externem Code aufgerufen werden kann, um eine Ausnahme mit dem Tag zu werfen.
Der untenstehende Code ruft WebAssembly.instantiateStreaming auf, um die Datei example.wasm zu importieren, wobei ein Import-Objekt (importObject) übergeben wird, das ein neues WebAssembly.Tag namens tagToImport enthält. Das Import-Objekt definiert ein Objekt mit Eigenschaften, die der import-Anweisung im WebAssembly-Code entsprechen.
Sobald die Datei instanziiert ist, ruft der Code die exportierte WebAssembly run() Methode auf, die sofort eine Ausnahme werfen wird.
Der Code fängt die Ausnahme ab und verwendet getArg(), um den Wert beim ersten Index zu drucken. In diesem Fall ist der Wert 1.
Der Prozess zur Verwendung eines exportierten Tags ist dem im vorherigen Abschnitt gezeigten sehr ähnlich. Hier ist dasselbe WebAssembly-Modul, welches einfach den Import durch einen Export ersetzt.
Auch das JavaScript ist ähnlich. In diesem Fall haben wir keine Importe; stattdessen erhalten wir das exportierte Tag und verwenden dieses, um das Argument zu erhalten. Wir testen auch, ob wir das richtige Tag haben, indem wir die is() Methode verwenden.
| WebAssembly JavaScript Interface: Exception Handling # dom-exception-getarg |
JavaScript aktivieren, um diese Browser-Kompatibilitätstabelle anzuzeigen.
Der Bauplan für ein besseres Internet.
Teile dieses Inhalts sind ©1998–2026 von einzelnen mozilla.org-Mitwirkenden. Inhalte sind verfügbar unter einer Creative-Commons-Lizenz.