Die ehrlichste Zeile Code
Im Juni 2025 haben die Go-Maintainer eine Entscheidung getroffen, die auf den ersten Blick wie Aufgeben aussieht - und auf den zweiten wie Reife.
Seit Jahren stört sich die halbe Go-Community an einer Sache: der Fehlerbehandlung. Nach fast jedem Funktionsaufruf dieselbe Geste: `if err != nil { return err }`. Drei Anläufe in sieben Jahren sollten das beheben: erst das check/handle-Modell aus dem Go-2-Entwurf, dann die try()-Funktion, zuletzt ein „?"-Operator nach Rust-Vorbild. Keiner hat es in die Sprache geschafft. Im Juni 2025 zogen die Maintainer einen Schlussstrich: keine neue Syntax für Fehlerbehandlung, die offenen Proposals werden geschlossen. Die drei Zeilen bleiben.
Der elegante Gegenentwurf
Java löst dasselbe Problem scheinbar schöner. Eine Methode wirft eine Exception, irgendwo weiter oben fängt sie jemand. Dazwischen muss niemand etwas tun. Checked Exceptions sollten genau das erzwingen: der Compiler verlangt, dass man sich kümmert. In der Praxis endet das oft in einem leeren catch-Block mit einem „// TODO", den nie wieder jemand anfasst. Der Fehler ist nicht weg. Er ist nur unsichtbar.
Sichtbar nervig schlägt unsichtbar elegant
Das ist der Kern. Gos Geschwätzigkeit ist real und sie nervt. Aber sie steht im Code, vor deinen Augen, in jedem Review. Du darfst einen Fehler bewusst ignorieren — aber du musst es hinschreiben, und jeder sieht es.
Die elegante Variante hat den umgekehrten Fehlermodus. Eine nicht behandelte Exception fällt nicht im Review auf. Sie fällt in Produktion auf, nachts, wenn der Stacktrace im Log steht und keiner mehr weiß, warum der catch-Block leer war.
Fazit
Beide Sprachen zwingen dich zu einem Tausch. Go macht Fehler explizit und damit umständlich. Java macht sie bequem und damit leicht zu übersehen. Nach Jahren mit beidem nehme ich lieber den Boilerplate, den ich sehe, als die Eleganz, die mir den Fehler versteckt. Die Sprachentwickler von Go haben 2025 im Grunde dasselbe entschieden.Nicht weil es keine schöne Lösung gab, sondern weil die hässliche ehrlich ist.
Kommentare
Kommentar veröffentlichen