Oliver Gierke
Erfahrenes Mitglied
Das ist eine der sog. RuntimeExceptions (wie NullPointerException auch), welche nur zur Laufzeit in einer bestimmten Konstelation auftreten kann.
Aber nie geworfen werden sollte!
Normalerweise prüft man daher die Daten vorher und reagiert entsprechend darauf, damit sowas nicht vorkommen kann.
Bei Gui Programmen ist es teilweise sinnvoll mal generell alle Exceptions abzufangen, um diese dann für den Anwender/Entwickler entsprechend ausgeben zu können.
Allerdings sollte man trotzdem immer schauen, das man alle möglichen Programmwege abgedeckt hat. Eine fliegende Exception ist immer unschön.
[offtopic level="slight"]Sorry, aber das ist ziemlich unexakter Blödsinn. Exceptions treten grundsätzlich NUR zur Lufzeit auf, und auch grundsätzlich nur in bestimmten Konstellationen. RuntimeExceptions werden oft geworfen und zwar zurecht - nämlich dann, wenn der direkte Client (Aufrufer) die Exception nicht sinnvoll abarbeiten kann. Diese Art des Exceptiondesigns setzt halt vorraus, dass man an EINER zentralen Stelle (meist mit AOP) alle Exceptions wegloggt und gegebenenfalls Benutzer sinnvoll benachrichtigt o.ä. Schonmal überlegt wie du auf die Exception, dass ein JDBC Query falsch ist, zur Laufzeit sinnvoll reagieren willst? Natürlich kannst du die fein fangen. Dann schreibst du allerdings überall wo du DB Zugriffe machst ... catch(SQLException)... was zum einen die Lesbarkeit verringert, den Wartungsaufwand erhöht und zum anderen Massenhaft Codeduplikation verursacht.[/offtopic]
Gruß
Ollie