
Fehlerbehandlung
Error type, error wrapping, errors.Is, errors.As, custom errors, panic/recover
1Welches Interface wird in Go zur Darstellung von Fehlern verwendet?
Welches Interface wird in Go zur Darstellung von Fehlern verwendet?
Antwort
Das error-Interface ist das vordefinierte Interface in Go zur Darstellung von Fehlerzuständen. Es enthält eine einzige Methode Error(), die eine Zeichenkette zurückgibt, die den Fehler beschreibt. Der Wert nil steht für keinen Fehler. Dies ist das konventionelle Interface, das von allen Paketen der Standardbibliothek und von Go-Entwicklern verwendet wird, um Fehler zu signalisieren und weiterzugeben.
2Wie erstellt man in Go einen einfachen Fehler mit einer statischen Nachricht?
Wie erstellt man in Go einen einfachen Fehler mit einer statischen Nachricht?
Antwort
Die Funktion errors.New() aus dem Paket errors erstellt einen einfachen Fehler mit einer statischen Nachricht. Sie gibt einen error-Typ zurück, der das error-Interface mit der angegebenen Nachricht implementiert. Dieser Ansatz wird für das Erstellen von Sentinel-Fehlern (vordefinierte Fehler wie os.ErrNotExist) oder einfache Fehler ohne dynamischen Kontext empfohlen. Für dynamische Nachrichten verwendet man fmt.Errorf().
3Welche Funktion ermöglicht das Erstellen eines Fehlers mit einer dynamisch formatierten Nachricht?
Welche Funktion ermöglicht das Erstellen eines Fehlers mit einer dynamisch formatierten Nachricht?
Antwort
Die Funktion fmt.Errorf() erstellt einen Fehler mit einer dynamisch formatierten Nachricht unter Verwendung von Formatierungsverben (wie %s, %d, %v). Sie unterstützt auch das spezielle Verb %w, um einen vorhandenen Fehler zu wrappen und so die Fehlerkette für eine spätere Inspektion zu erhalten. Dies ist die empfohlene Methode, um Fehlern Kontext hinzuzufügen und dabei den ursprünglichen Fehler beizubehalten.
Welches Formatierungsverb ermöglicht das Wrappen eines Fehlers mit fmt.Errorf()?
Welche Funktion prüft, ob ein gewrappter Fehler mit einem bestimmten Fehler übereinstimmt?
+17 Interview-Fragen
Weitere Go-Interviewthemen
Go-Grundlagen
Go-Datenstrukturen
Go-Interfaces
Goroutines-Grundlagen
Channels
Go Modules
HTTP-Server
HTTP-Client
JSON-Kodierung
Database/SQL
context-Paket
Testing
Concurrency-Patterns
Synchronisationsprimitive
Go-Web-Frameworks
REST-API-Design
gRPC
Reflection
Speicherverwaltung
Performance-Optimierung
Generics
Go Design Patterns
Microservices
Sicherheit und Authentifizierung
Docker & Containerization
Kubernetes Basics
Fortgeschrittenes Go
CLI-Entwicklung
Meistere Go für dein nächstes Interview
Zugang zu allen Fragen, Flashcards, technischen Tests, Code-Review-Übungen und Interview-Simulatoren.
Kostenlos starten