Wie erfasse ich bestimmte Fehler in Go?

DDD
Freigeben: 2024-11-06 18:32:03
Original
927 Leute haben es durchsucht

How do I Capture Specific Errors in Go?

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
}
Nach dem Login kopieren

Ü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
}
Nach dem Login kopieren

Ü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
}
Nach dem Login kopieren

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!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!