Menu
Coddy logo textTech

`panic` verstehen

Teil des Abschnitts Logik & Ablauf der GO-Journey von Coddy — Lektion 42 von 68.

In Go ist panic eine integrierte Funktion, die für wirklich außergewöhnliche Situationen verwendet wird, in denen Ihr Programm auf einen nicht behebbaren Fehler stößt und sofort beendet werden muss. Im Gegensatz zu regulären Fehlern, die Sie ordnungsgemäß behandeln, ist panic für katastrophale Ausfälle reserviert, die darauf hindeuten, dass etwas mit der Logik oder der Umgebung Ihres Programms grundlegend nicht stimmt.

Wenn panic aufgerufen wird, stoppt es sofort die normale Ausführung der aktuellen Funktion und beginnt mit dem Abbauen des Aufrufstapels (Unwinding). Dies unterscheidet es stark vom typischen Go-Ansatz, Fehler zurückzugeben, die vom aufrufenden Code behandelt werden können.

In idiomatischem Go wird panic selten verwendet. Die Go-Community bevorzugt ausdrücklich die explizite Fehlerbehandlung durch Rückgabewerte gegenüber einer auf Panic basierenden Fehlerbehandlung. Sie könnten auf panic in Situationen stoßen, wie beim Zugriff auf ein Array außerhalb der Grenzen, beim Dereferenzieren eines Nil-Pointers oder wenn eine Bibliothek einen unmöglichen Zustand erkennt, der auf einen Programmierfehler hindeutet.

Die meisten Go-Programme sollten Fehler ordnungsgemäß unter Verwendung der Standard-Error-Schnittstelle behandeln, die Sie kennengelernt haben. panic sollte nur in Betracht gezogen werden, wenn es wirklich keinen vernünftigen Weg gibt, wie Ihr Programm den Betrieb fortsetzen kann.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Spickzettel

In Go ist panic eine eingebaute Funktion für nicht behebbare Fehler, die die Programmausführung sofort stoppt:

panic("something went terribly wrong")

Wenn panic aufgerufen wird, stoppt es die aktuelle Funktion und baut den Call-Stack ab (Unwinding). Verwenden Sie panic sparsam – nur bei katastrophalen Fehlern, bei denen das Programm nicht fortgesetzt werden kann. Go bevorzugt die explizite Fehlerbehandlung durch Rückgabewerte gegenüber einer Panic-basierten Fehlerbehandlung.

Häufige Panic-Situationen sind Array-Zugriffe außerhalb der Grenzen (out-of-bounds), Nil-Pointer-Dereferenzierungen oder unmögliche Programmzustände, die auf Bugs hinweisen.

Probier es selbst

Diese Lektion enthält keine Programmieraufgabe.

quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf