Hi Leute!
Versuche mich gerade erstmals an Exceptions, deswegen bitte keine blöden Sprüche falls ich irgend einen total dämlichen Fehler eingebaut haben sollte, ich finde ihn auf jeden Fall nicht. Für Hinweise/hilfreiche Antworten bin ich sehr dankbar Der Code soll zwei integer addieren und bei der Eingabe von Buchstaben, Kommazahlen o.ä. eine Exception werfen.
Und hier noch die Klasse fehlor, welche sich in einer externen Datei befindet:
Mal abgesehen davon bin ich auch gar nicht sicher ob ich richtig verstanden habe, was Zeile 16 tut - hab sie einfach aus einem anderen Beispiel übernommen. Soweit ich das verstanden habe, wird die Exception (eingabe!=int) einfach "e" genannt und mit getMessage der Text aus der Unterklasse ausgegeben (also super("Dieser Text wird ausgegeben"))
Versuche mich gerade erstmals an Exceptions, deswegen bitte keine blöden Sprüche falls ich irgend einen total dämlichen Fehler eingebaut haben sollte, ich finde ihn auf jeden Fall nicht. Für Hinweise/hilfreiche Antworten bin ich sehr dankbar Der Code soll zwei integer addieren und bei der Eingabe von Buchstaben, Kommazahlen o.ä. eine Exception werfen.
Java:
package except1;
import java.util.Scanner;
public class index {
public static void main(String[] args) {
System.out.println("Addition zweier integer Zahlen!");
System.out.println("Bitte erste Zahl eingeben");
try{
get(); //Einlesen der Zahlen durch die Methode "get"
}
catch(fehlor e)
{
System.out.println(e.getMessage()); //Text aus Klasse "fehlor" wird ausgegeben
}
}
public static void get () throws fehlor
{
int x,y;
Scanner sc = new Scanner(System.in);
x=sc.nextInt();
if (x !=(int)x)throw new fehlor();//Wenn die Eingabe kein int ist, soll Fehler geworfen werden
System.out.println("Bitte zweite Zahl eingeben");
y=sc.nextInt();
if (y !=(int)y)throw new fehlor();//Wenn die Eingabe kein int ist, soll Fehler geworfen werden
addi(x,y);
}
public static void addi (int x, int y)
{
x=x+y;
System.out.print("Das Ergebnis der Addition lautet: ");
System.out.print(x);}
}
Und hier noch die Klasse fehlor, welche sich in einer externen Datei befindet:
Java:
public class fehlor extends Exception {
fehlor(){
super("Oops! Das war aber kein Integer!");
}
}
Mal abgesehen davon bin ich auch gar nicht sicher ob ich richtig verstanden habe, was Zeile 16 tut - hab sie einfach aus einem anderen Beispiel übernommen. Soweit ich das verstanden habe, wird die Exception (eingabe!=int) einfach "e" genannt und mit getMessage der Text aus der Unterklasse ausgegeben (also super("Dieser Text wird ausgegeben"))