MDN’s new design is in Beta! A sneak peek: https://blog.mozilla.org/opendesign/mdns-new-design-beta/

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. Im den folgenden zwei Fällen sind ein endlich rekursiver und unendlich rekursiver Methodenaufruf beschrieben, die zeigen sollen, dass, wenn es zuviele oder unendliche rekursive Aufrufe gibt, Javascript diesen Fehler werfen wird.

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 das 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: yampus, julmot, akumagamo
 Zuletzt aktualisiert von: yampus,