Heim > Artikel > Backend-Entwicklung > Wie man Fehler in Golang abfängt
Der Fehlerschnittstellentyp wird in Golang als Standardmodus für die Fehlerbehandlung eingeführt. Wenn die Funktion einen Fehler zurückgibt, muss die Liste der Rückgabewerttypen einen Fehler enthalten. Die Fehlerverarbeitungsklasse
ähnelt dem Fehlercode in der Sprache C und kann Schicht für Schicht zurückgegeben werden, bis er verarbeitet wird.
Golang führt zwei integrierte Funktionen „Panic“ und „Recover“ ein, um den Ausnahmebehandlungsprozess auszulösen und zu beenden, und führt das Schlüsselwort „defer“ ein, um die Ausführung der Funktion nach „defer“ zu verzögern.
Die verzögerte Funktion (Funktion nach Defer) wird erst ausgeführt, wenn die Funktion mit der Defer-Anweisung ausgeführt wird, unabhängig davon, ob die Funktion mit der Defer-Anweisung die Rückgabe übergibt
Endet normal oder endet aufgrund von Panik abnormal. Sie können in einer Funktion mehrere Defer-Anweisungen ausführen, und diese werden in der umgekehrten Reihenfolge der Deklaration ausgeführt.
Es wird empfohlen, das „Golang-Tutorial“ zu studieren.
Wenn das Programm ausgeführt wird und Sie auf Situationen wie die Referenzierung eines Nullzeigers stoßen, ist dies nicht der Fall -bounds-Index oder expliziter Aufruf einer Panikfunktion usw., dann wird zuerst die Ausführung der Panikfunktion ausgelöst und dann die Verzögerungsfunktion aufgerufen. Der Aufrufer von
bleibt weiterhin in Panik, sodass der Prozess im Aufrufstapel wiederholt abläuft: Funktionen werden nicht mehr ausgeführt, Funktionen mit verzögerter Ausführung werden aufgerufen usw. Wenn in der Verzögerungsfunktion kein Aufruf der Funktion „recover
“ erfolgt, wird der Startpunkt des Ctrips erreicht, der Ctrip endet und dann alle anderen Ctrips, einschließlich des Haupt-Ctrips (ähnlich dem Haupt-Ctrip). Thread in C-Sprache, wird beendet) Ctrip-ID ist
1).
Fehler und Ausnahmen sind im Hinblick auf den Golang-Mechanismus der Unterschied zwischen Fehler und Panik. Das Gleiche gilt für viele andere Sprachen, wie zum Beispiel C++/Java. Es gibt keinen Fehler, aber errno, und es gibt keine Panic
, aber throw.
Golang-Fehler und Ausnahmen können ineinander umgewandelt werden:
Fehler werden in Ausnahmen umgewandelt, und zwar bis zu dreimal Die Anfrage schlägt während der drei Versuche fehl, es handelt sich um einen Fehler. Wenn sie nach dem dritten Versuch fehlschlägt, wird der
Fehler zu einer Ausnahme hochgestuft. Ausnahmen werden zu Fehlern. Nachdem beispielsweise die durch eine Panik ausgelöste Ausnahme wiederhergestellt wurde, wird die Fehlertypvariable im Rückgabewert zugewiesen, sodass die übergeordnete Funktion
den Fehlerbehandlungsprozess fortsetzen kann.
Das obige ist der detaillierte Inhalt vonWie man Fehler in Golang abfängt. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!