Fe

Fehler in JavaScript

19 Übungen

Über Fehler

Fehler sind nützlich, um zu melden, dass in einem Programm oder in einem Codeabschnitt etwas nicht stimmt oder unerwartet passiert.

Sie sind JavaScript-Objekte.

Die wichtigste Eigenschaft dieses Objekts ist message:

const error = new Error('Oops, something went wrong');

console.log(error.message);
// => "Oops, something went wrong"

Mit der throw-Syntax kannst du einen Error werfen.

throw new Error('Oops');

Wenn ein Fehler geworfen wird, wird die aktuelle Ausführung gestoppt und im ersten catch-Block des Aufrufstapels fortgesetzt.

try {
  throw new Error('Oops');
} catch (error) {
  console.log(error.message);
  // => "Oops"
}

Wie bei jeder Klasse in JavaScript können Unterklassen von Error erben, um mit dem Schlüsselwort extends eigene Fehlertypen zu erstellen. Mit der instanceof-Syntax kannst du prüfen, ob der abgefangene Fehler eine Instanz einer bestimmten Unterklasse von Error ist.

class CustomError extends Error {}

try {
  // ... Code that may throw an error
} catch (error) {
  if (error instanceof CustomError) {
    console.log('The error thrown is an instance of the CustomError');
  }
}

Fehlertypen

Neben dem Error-Objekt gibt es noch weitere eingebaute Fehlerobjekte. Mehr darüber erfährst du hier.

Benutzerdefinierte Fehler

Du kannst auch deinen eigenen benutzerdefinierten Fehlertyp definieren, indem du eine Klasse erstellst, die von einem der eingebauten Fehlertypen erbt.

class MyCustomError extends Error {}

Nicht-Fehler werfen

Die throw-Syntax wird zwar meistens verwendet, um ein Error-Objekt zu werfen, aber JavaScript ist flexibel und lässt dich auch einen string, ein null oder jeden primitiven Typ werfen.

Stacktraces von Fehlern

Auch wenn das in JavaScript nicht Standard ist, implementieren die meisten JavaScript-Umgebungen eine stack-Eigenschaft für die Error-Objekte, mit der du den Stacktrace des geworfenen Fehlers abrufen kannst.

Über GitHub bearbeiten Der Link öffnet sich in einem neuen Fenster oder Tab

Lerne Fehler