Exception klappt nicht < Java < Programmiersprachen < Praxis < Informatik < Vorhilfe
|
Status: |
(Frage) beantwortet | Datum: | 00:05 Di 16.10.2012 | Autor: | Aremo22 |
hallo gemeinde,
ich habe als Projekt ein Programm zur Zielscheibeneingabe.
Nun will ich wenn man bei Munition einen falschen Wert wie z.B einen Buchstaben eingibt eine Fehlermeldung kommt:
(Klasse Match, Teilnehmer ist ein Objekt der klasse Grafik)
(Exception wird am Anfang der Klasse geworfen)
Teilnehmer.Munition();
while (Munition==0)
{
try{Munition = Teilnehmer.MuniButton();}
catch (Exception x)
{
Teilnehmer.Fehlermeldungmunition();
}
}
Klasse Grafik
public void Munition()
{
Munition = new JPanel();
Munition.setLayout(new GridLayout(4,1));
Munition.add(new Label("Munition"));
Munitionfield = new JTextField();
Munition.add(Munitionfield);
Bestäti2 = new JButton("Bestätigen");
Munition.add(Bestäti2);
Hauptpanel.add(Munition, "2");
}
public int MuniButton()
{
Bestäti2.addActionListener(new ActionListener()
{ public void actionPerformed(ActionEvent e)
{
fr = Munitionfield.getText();
Muni = Integer.parseInt(fr);
}
}
);
return Muni;
}
public void Fehlermeldungmunition()
{
fehlermunition = new JPanel();
JLabel fehlermuni = new JLabel ("Ungültige Eingabe");
fehlermunition.add(fehlermuni);
Munition.add(fehlermunition);
Hauptpanel.add(Munition, "2");
}
Aber anstatt der Fehlermeldung wird der Terminal aufgerufen....
was mach ich falsch?
mfg
aremo
|
|
|
|
Status: |
(Antwort) fertig | Datum: | 01:42 Mi 17.10.2012 | Autor: | rainerS |
Hallo!
Ich muss ganz schön raten, um eine Vermutung äußern zu können, was schiefgeht. Bitte immer das ganze Programm posten!
Ich vermute, die meinst die Exception, die parseInt wirft, wenn die Eingabe keine Zahl ist. Die wird nicht in MuniButton geworfen, sondern in actionPerformed. Schau dir mal die Aufrufhierarchie zum Zeitpunkt der Exception an!
Viele Grüße
Rainer
|
|
|
|