Moin anfänger!
Ich hatte gestern leider keine Zeit mehr, Dir zu antworten...
Leider unterliegst Du (und auch Java (Gast))einem gewaltigen Irrtum: In
main werden lediglich die Exceptions InputMismatchException und
NoSuchElementException behandelt (gefangen). Der catch-Block für die
UpnException fehlt.
1 | ...
|
2 | catch (NoSuchElementException ex){
|
3 | throw new UpnException("FALSCHE EINGABE");
|
4 | }
|
5 | catch (UpnException ex){
|
6 | //Behandlung der Exception...
|
7 | }
|
8 | ...
|
Die Zeile
1 | public static void main ( String ... args ) throws UpnException, InputMismatchException, NoSuchElementException
|
teilt dem Compiler mit, daß ein Aufrufer der Methode main diese
Exceptions behandeln sollte (bei Exceptions, die von RuntimeException
ableiten) bzw. behandeln muß (bei Exceptions, die von Exception
ableiten). Dies ist bei einem main aber nicht wirklich sinnvoll (die
Exceptions können von der JVM lediglich in Form einer Ausgabe der
Exception auf die Console "behandelt" werden).
Dir ist auch klar, daß durch die Lage der while-Schelife im try-Block
Dein Programm beim Auftreten der ersten Exception beendet wird? Wenn das
Programm weiter laufen soll, muß try-catch in die while-Schleifen
hinein.
Gruß aus KA
Markus