Kapitel 9. Fehler

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Die Fehlerbehandlung ist eine der größten Herausforderungen für Entwickler, die von anderen Sprachen zu Go wechseln. Für diejenigen, die an Ausnahmen gewöhnt sind, wirkt der Ansatz von Go anachronistisch. Doch dem Ansatz von Go liegen solide Prinzipien der Softwareentwicklung zugrunde. In diesem Kapitel lernst du, wie du in Go mit Fehlern umgehen kannst. Du wirst auch einen Blick auf panic und recover werfen, Go's System zur Behandlung von Fehlern, die die Ausführung stoppen sollten.

Wie man mit Fehlern umgeht: Die Grundlagen

Wie in Kapitel 5 kurz beschrieben, behandelt Go Fehler, indem es einen Wert vom Typ error als letzten Rückgabewert einer Funktion zurückgibt. Dies ist eine Konvention, die jedoch so stark ist, dass sie niemals verletzt werden sollte. Wenn eine Funktion wie erwartet ausgeführt wird, wird nil als Fehlerparameter zurückgegeben. Wenn etwas schief läuft, wird stattdessen ein Fehlerwert zurückgegeben. Die aufrufende Funktion überprüft dann den Fehlerrückgabewert, indem sie ihn mit nil vergleicht, den Fehler behandelt oder selbst einen Fehler zurückgibt. Eine einfache Funktion mit Fehlerbehandlung sieht so aus:

func calcRemainderAndMod(numerator, denominator int) (int, int, error) {
    if denominator == 0 {
        return 0, 0, errors.New("denominator is 0")
    }
    return numerator / denominator, numerator % denominator

Get Go lernen, 2. Auflage now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.