Heim >Backend-Entwicklung >Golang >Wie führe ich Typzusicherungen für benutzerdefinierte Fehler in Go durch?

Wie führe ich Typzusicherungen für benutzerdefinierte Fehler in Go durch?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-24 01:06:11273Durchsuche

How to Perform Type Assertions for Custom Errors in Go?

Typzusicherung für benutzerdefinierte Fehlerbehandlung in Go

In Go ermöglichen benutzerdefinierte Fehlertypen eine spezifischere Fehlerbehandlung. Allerdings kann es schwierig sein, die genaue Art eines Fehlers zu überprüfen. In diesem Artikel geht es um die Frage, wie Typzusicherungen für benutzerdefinierte Fehler durchgeführt werden.

Die Frage beleuchtet die Verwendung eines benutzerdefinierten ModelMissingError-Typs zur Darstellung eines fehlenden Modellfehlers. Der Aufrufer der Methode, die diesen Fehler auslöst, möchte ihren Typ überprüfen und entsprechend handeln.

Das in der Frage bereitgestellte Snippet verwendet den Gleichheitsoperator (==), um die Fehlervariable mit dem ModelMissingError-Typ zu vergleichen, was führt zum Fehler „Typ model.ModelMissingError ist kein Ausdruck.“

Die Lösung liegt in der Verwendung des „Komma-OK-Idioms“ in einem Typ Behauptung. Der folgende Code zeigt, wie das geht:

serr, ok := err.(*model.ModelMissingError)

Diese Syntax stellt sicher, dass die Schnittstellenvariable err einen konkreten Wert vom Typ *model.ModelMissingError enthält und weist serr den zugrunde liegenden Wert zu. Außerdem wird ok ein boolescher Wert zugewiesen, um den Erfolg der Assertion anzuzeigen.

Mit der „Komma-OK-Sprache“ können Sie den genauen Typ eines Fehlers überprüfen, ohne eine Panik auszulösen, wenn die Typassessertion fehlschlägt. Wenn ok wahr ist, ist der Fehler vom erwarteten Typ und Sie können basierend auf serr entsprechende Maßnahmen ergreifen.

Durch die Nutzung von Typzusicherungen und der „Komma-OK-Sprache“ können Sie effektiv nach benutzerdefinierten Fehlertypen suchen Gehen Sie entsprechend vor und sorgen Sie für mehr Flexibilität und Präzision bei der Fehlerbehandlung.

Das obige ist der detaillierte Inhalt vonWie führe ich Typzusicherungen für benutzerdefinierte Fehler in Go durch?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
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