A RetroSearch Logo

Home - News ( United States | United Kingdom | Italy | Germany ) - Football scores

Search Query:

Showing content from https://developer.mozilla.org/de/docs/Web/JavaScript/Reference/Global_Objects/Generator/throw below:

Generator.prototype.throw() - JavaScript | MDN

Generator.prototype.throw()

Baseline Widely available

Die throw()-Methode von Generator-Instanzen wirkt so, als ob eine throw-Anweisung an der aktuellen angehaltenen Position im Körper des Generators eingefügt wird. Dies informiert den Generator über einen Fehlerzustand und ermöglicht es ihm, den Fehler zu behandeln, Bereinigungen durchzuführen oder sich selbst zu schließen.

Syntax
generatorInstance.throw(exception)
Parameter
exception

Die zu werfende Ausnahme. Für Debugging-Zwecke ist es nützlich, sie zu einem instanceof Error zu machen.

Rückgabewert

Wenn die geworfene Ausnahme von einem try...catch abgefangen wird und der Generator fortfährt, weitere Werte zu liefern, wird ein Object mit zwei Eigenschaften zurückgegeben:

done

Ein boolescher Wert:

value

Der aus dem nächsten yield-Ausdruck gelieferte Wert.

Ausnahmen
TypeError

Wird geworfen, wenn der Generator bereits läuft.

Wenn die exception nicht innerhalb der Generatorfunktion von einem try...catch abgefangen wird, wird sie auch an den Aufrufer von throw() geworfen.

Beschreibung

Die throw()-Methode kann, wenn sie aufgerufen wird, als ob eine throw exception;-Anweisung an der aktuellen angehaltenen Position im Körper des Generators eingefügt wird, betrachtet werden, wobei exception die an die throw()-Methode übergebene Ausnahme ist. Daher wird der Generator bei einem typischen Ablauf durch das Aufrufen von throw(exception) werfen. Wenn der yield-Ausdruck jedoch in einem try...catch-Block eingeschlossen ist, kann der Fehler abgefangen und der Kontrollfluss entweder nach der Fehlerbehandlung fortgesetzt oder geordnet beendet werden.

Beispiele Verwendung von throw()

Das folgende Beispiel zeigt einen Generator und einen Fehler, der mit der throw-Methode geworfen wird. Ein Fehler kann wie üblich von einem try...catch-Block abgefangen werden.

function* gen() {
  while (true) {
    try {
      yield 42;
    } catch (e) {
      console.log("Error caught!");
    }
  }
}

const g = gen();
g.next();
// { value: 42, done: false }
g.throw(new Error("Something went wrong"));
// "Error caught!"
// { value: 42, done: false }
Spezifikationen Browser-Kompatibilität Siehe auch

RetroSearch is an open source project built by @garambo | Open a GitHub Issue

Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo

HTML: 3.2 | Encoding: UTF-8 | Version: 0.7.4