Erfassen spezifischer Fehler in Go
Bei der Interaktion mit Standardfunktionen der Go-Bibliothek, die Fehler zurückgeben, kann es hilfreich sein, bestimmte Typen zu identifizieren und zu behandeln von Fehlern wie „Verbindung verloren“ oder „Verbindung abgelehnt“. So erreichen Sie dies:
Fehler.Is und Fehler.As verwenden
Für moderne Go-Versionen besteht der empfohlene Ansatz darin, die Fehler.Is und Fehler zu verwenden. Als Funktionen aus der Standardbibliothek. Mit diesen Funktionen können Sie überprüfen, ob ein Fehler einem bestimmten Typ entspricht, oder eine Teilmenge der Fehlerinformationen extrahieren. Zum Beispiel:
if errors.Is(err, syscall.ECONNREFUSED) { // err is a connection refused error }
Übereinstimmende Fehlerzeichenfolgen
Wenn eine Standardbibliotheksfunktion keine bestimmten Fehlertypen bereitstellt, können Sie auf den Vergleich der Fehlerzeichenfolge zurückgreifen:
if err.Error() == "connection lost" { // err contains "connection lost" error }
Überprüfen spezifischer Fehlertypen
Einige Bibliotheken exportieren möglicherweise bestimmte Fehlertypen, die direkt überprüft werden können:
if _, ok := err.(net.Error); ok { // err is a net.Error instance }
Alle ermitteln Mögliche Fehler
Um alle möglichen Fehler zu identifizieren, die von einer Standardbibliotheksfunktion zurückgegeben werden, muss der Quellcode gelesen werden. Alternativ können Sie auch die Dokumentation einsehen, etwa das Godoc für das Net-Paket, wo häufig Fehler beschrieben werden.
Das obige ist der detaillierte Inhalt vonWie erfasse ich bestimmte Fehler in Go?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!