InternalError: too much recursion

Fehlermeldung

InternalError: too much recursion

Errortyp

InternalError.

Was ist falsch gelaufen?

Eine Methode, die sich selbst aufruft, wird rekursive Methode genannt. In manchen Aspekten ist eine Rekursion mit einer Schleife vergleichbar. Beide führen Quellcodeteile mehrmals aus, beide brauchen eine Abbruchbedingung (um Endlosschleifen zu vermeinden, oder wie in diese Fall unendliche rekursive Methodenaufrufe). Gibt es zuviel oder unendliche rekursive Aufrufe wird Javascript diesen Fehler werfen.

Beispiele

Diese rekursive Methode wird bis zur Abbruchbedingung 10mal durchlaufen.

function schleife(x) {
  if (x >= 10) // "x >= 10" ist die Abbruchsbedingung
    return;
  // zu wiederholende Codezeilen
  schleife(x + 1); // rekursiver Methodenaufruf
}
schleife(0);

Wird die Abbruchsbedingung auf eine zu hohe Rekursionstiefe gesetzt, erzeugt dies einen Fehler:

function boeseSchleife(x) {
  if (x >= 1000000000000)
    return;
  // zu wiederholende Codezeilen
  boeseSchleife(x + 1);
}
boeseSchleife(0);

// InternalError: too much recursion

Siehe auch

Schlagwörter des Dokuments und Mitwirkende

Schlagwörter: 
 Mitwirkende an dieser Seite: julmot, akumagamo
 Zuletzt aktualisiert von: julmot,