Moin.
Die seit anno domini gegen goto
angeführten Argumente lassen sich zu einem gewissen Maß auf alle Sprung-Anweisungen übertragen, d.h. break
und continue
in Schleifen, aber auch multiple return
-Anweisungen in einer Funktion und insbesondere auch throw
in Sprachen mit expliziter Fehlerbehandlung.
Trotzdem gibt es für all diese Anweisungen sinnvolle Anwendungen, die sich meist um die Behandlung außergewöhnlicher Situationen drehen. Grundsätzlich sollte eine Schleife beendet werden, wenn eine vorgegebene Abbruchsbedingung erreicht wurde. Außergewöhnliche Vorgänge, die den normalen Programmablauf unterbrechen, lassen sich jedoch häufig am einfachsten durch eine Sprung-Anweisung behandeln.
Christoph