Gab es einen Grund, warum die Entwickler von Java der Meinung waren, dass lokalen Variablen kein Standardwert zugewiesen werden sollte? Im Ernst: Wenn Instanzvariablen ein Standardwert zugewiesen werden kann, warum können wir das dann nicht auch für lokale Variablen tun?
Und es führt auch zu Problemen, wie in dieser Kommentar zu einem Blogeintrag :
Nun, diese Regel ist sehr frustrierend, wenn man versucht, eine Ressource in einem Endblock zu schließen. Wenn ich die Ressource innerhalb eines Try-Blocks instanziiere, aber versuche, sie innerhalb des Finally-Blocks zu schließen, erhalte ich diesen Fehler. Wenn ich die Instanziierung außerhalb des Try-Blocks verschiebe, erhalte ich eine weitere Fehlermeldung, die besagt, dass die Instanziierung innerhalb eines Try-Blocks erfolgen muss.
Sehr frustrierend.