Sobes.tech
Middle

Was passiert, wenn Fehler in einer Promise nicht behandelt werden (kein .catch)?

sobes.tech KI

Antwort von AI

Wenn in einer Promise ein Fehler nicht mit .catch() behandelt wird, bleibt der Fehler unhandled. In modernen Laufzeitumgebungen (z.B. Browser oder Node.js) führt dies zu einer Warnung oder einem Fehler "Unhandled Promise Rejection".

Folgen:

  • Im Browser kann eine Meldung in der Konsole erscheinen, dass der Fehler nicht behandelt wurde.
  • In Node.js können unbehandelte Promise-Ablehnungen zum Beenden des Prozesses mit einem Fehler führen (abhängig von Version und Einstellungen).

Das ist eine schlechte Praxis, da Fehler unbemerkt bleiben können, was die Fehlersuche erschwert und zu unvorhersehbarem Verhalten der Anwendung führen kann.

Beispiel für korrekte Behandlung:

fetch('/api/data')
  .then(response => response.json())
  .catch(error => {
    console.error('Fehler beim Laden der Daten:', error);
  });