Heim > Backend-Entwicklung > Golang > Wie kann ich in Go sicher nach einem benutzerdefinierten Fehlertyp suchen?

Wie kann ich in Go sicher nach einem benutzerdefinierten Fehlertyp suchen?

Patricia Arquette
Freigeben: 2024-12-19 14:15:10
Original
591 Leute haben es durchsucht

How Can I Safely Check for a Custom Error Type in Go?

Überprüfung auf einen benutzerdefinierten Fehlertyp in Go

In Go ist es beim Definieren benutzerdefinierter Fehlertypen manchmal erforderlich, deren spezifischen Typ zu bestimmen Umgang mit Fehlern. Der Versuch, einen Fehler direkt mit einem benutzerdefinierten Fehlertyp zu vergleichen, kann jedoch zu Fehlern wie „type model.ModelMissingError is not an expression“ führen.

Um nach einem benutzerdefinierten Fehlertyp zu suchen, muss der Der Go-Blogbeitrag zu Fehlern empfiehlt die Verwendung des Komma-OK-Idioms:

serr, ok := err.(*model.ModelMissingError)
Nach dem Login kopieren

Dieses Idiom versucht, den Fehlerwert err als Zeiger zu behaupten auf einen bestimmten Typ, in diesem Fall model.ModelMissingError. Wenn die Behauptung erfolgreich ist, enthält serr den zugrunde liegenden konkreten Wert des Fehlers und ok wird wahr sein. Andernfalls ist serr gleich Null und ok ist falsch.

Durch die Verwendung des Komma-OK-Idioms können Sie sicher überprüfen, ob ein Fehler von einem bestimmten benutzerdefinierten Typ ist, und entsprechende Maßnahmen ergreifen, ohne eine Panik auszulösen:

if ok {
    // Handle the error as a ModelMissingError
} else {
    // Handle the error as a different type
}
Nach dem Login kopieren

Diese Redewendung ist besonders nützlich, wenn Sie über eine gemeinsame Fehlerschnittstelle verfügen, die mehrere verschiedene Fehler darstellen kann, sodass Sie bei maßgeschneiderten Fehlern zwischen bestimmten Fehlertypen unterscheiden können Handhabung.

Das obige ist der detaillierte Inhalt vonWie kann ich in Go sicher nach einem benutzerdefinierten Fehlertyp suchen?. 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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage