try->catch->weitermachen

Nochmal: dafür sind Exceptions nicht gedacht. Was du versuchst ist quasi ein Konzept zu vergewaltigen ;). D.h. ifs sind an dieser Stelle die richtige wahl. Wenn du immer die gleiche Bedingung überprüft macht eine Schleife darum Sinn. Wenn es verschiedene Bedingungen sind und diese Arg viel werden, stellt sich die Frage, ob deine Methode vielleicht nicht ein bisschen zu viel macht.

Gruß
Ollie
 
Exceptions sollten grundsätzlich nie fliegen, deshalb sind sie Ausnahmen ;).

Da stimme ich dir zu.

Irgendwie macht der Satz aber auch insgesamt keinen Sinn. Eigentlich ist das Gegenteil der Fall. RuntimeExceptions sind eigentlich End of the world Szenarien (DBConnection weg usw.),

Ich glaube du missverstehst mich. Ich meine eine RuntimeException im Sinne von der Java Klasse RuntimeException. Daher eine unchecked Exception, also eine welche man nicht explizit behandeln muss (mit try/catch oder mittels throw weiter werfen), damit der Code kompilierbar ist.
Diese kann man oftmals durch if Überprüfungen verhindern.
 
Du hast oben geschrieben, dass man RuntimeExceptions durch Überprüfung verhindern kann. Das ist halt nicht immer richtig. Im Gegenteil - RuntimeExceptions sind eigentlich dazu da, Ausnahmefälle zu modellieren, die den Namen eigentlich richtig verdienen.

Ein gutes Beispiel sind die DataAccessExceptions von Spring. Datenbankzugriffsexceptions sind grundsätzlich erstmal zur Programmlaufzeit nicht zu beheben (oder wie willst du auf ein fehlerhaftes SQL Statement zur Laufzeit beheben?). Man muss beim Exceptiondesign das Programm zur Laufzeit des Users im Kopf haben, um diesen Unterschied zu verstehen. Während du entwickelst, kannst du den Fehler durch einen Fix beheben - klar. Beim Kunden aber ist ein SQL Fehler ein Bug. Daher ist es auch unsinnig um einen JDBC Call ein try catch für die Exception zu machen, die diese Exception fängt, weil: was willst du sinnvolles in den Catch Block schreiben? Im Gegenteil, du willst da eigentlich gar keine Exception fangen müssen. Deshalb -> RuntimeException.

Wie man sieht ist das Thema Exceptions kein triviales. Für mehr Infos empfehle ich:

http://www.se-radio.net/podcast/2006-02/episode-7-error-handling
http://www.se-radio.net/podcast/2006-07/episode-21-error-handling-pt-2

REINHAUN!
 
Nochmal: dafür sind Exceptions nicht gedacht. Was du versuchst ist quasi ein Konzept zu vergewaltigen ;).
Genau ;)

D.h. ifs sind an dieser Stelle die richtige wahl. Wenn du immer die gleiche Bedingung überprüft macht eine Schleife darum Sinn. Wenn es verschiedene Bedingungen sind und diese Arg viel werden, stellt sich die Frage, ob deine Methode vielleicht nicht ein bisschen zu viel macht.
Ist nicht die gleiche Bedingung... Sonst hätte ich natürlich ne Schleife..
Mir ist schon klar was du mir sagen willst, da es sich aber um Code handelt den ich nachher wegwerfe bemühe ich mich nicht um sauberes programmieren oder gutes error handling.

Aber ich habs inzwischen :D

Grüsse
 
Zurück