Hallo, ich bin gerade dabei ein wenig mit Exceptions rum zu probieren. Leider bekomme ich immer einen Fehler bei meinem derzeitigen Programm.
Das sind meine Exceptions, dabei sind die Klassen LeeresFeldException und StundenException selbst programmiert.
Hier StundenException:
Und hier LeeresFeldException:
Dabei greift StundenException und gibt auch die richtige Ausgabe aus. Aber wenn ich nichts eingebe greift die NumberFormatException anstatt die LeeresFeldException. Irgendwie krieg ich es nicht raus, erkenne gerade nicht den Fehler.
Danke schonmal für jede Hilfe
mfg Nicklas
Das sind meine Exceptions, dabei sind die Klassen LeeresFeldException und StundenException selbst programmiert.
Java:
try {
stunden = Integer.parseInt(tftStunden.getText());
minuten = Integer.parseInt(tftMinuten.getText());
if (stunden > 24 || stunden < 0) {
throw new StundenException("Bitte geben sie eine gültige Stundenzahl an.");
}
if (minuten > 60 || minuten < 0) {
throw new StundenException("Bitte geben sie eine gültige Minutenzahl an.");
}
if (String.valueOf(stunden).equals("") | String.valueOf(minuten).equals("")) {
throw new LeeresFeldException("Bitte füllen sie alle Felder aus");
}
txtAusgabe
.append("Ihre Uhrzeit beträgt: " + String.valueOf(stunden) + ":" + String.valueOf(minuten));
tftStunden.requestFocus();
tftStunden.selectAll();
} catch (LeeresFeldException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
tftStunden.requestFocus();
tftStunden.selectAll();
} catch (StundenException e) {
JOptionPane.showMessageDialog(null, e.getMessage());
tftStunden.requestFocus();
tftStunden.selectAll();
} catch (NumberFormatException e) {
JOptionPane.showMessageDialog(null, "Bitte geben sie nur ganze Zahlen ein");
tftStunden.requestFocus();
tftStunden.selectAll();
}
Java:
package exceptions;
public class StundenException extends NumberFormatException {
public StundenException() {
super();
}
public StundenException(String s) {
super(s);
}
}
Java:
package exceptions;
public class LeeresFeldException extends NumberFormatException {
public LeeresFeldException() {
super();
}
public LeeresFeldException(String s) {
super(s);
}
}
Danke schonmal für jede Hilfe
mfg Nicklas