UI erweitert um Letzten Fehler auslesen! Exception Handling in UI.

master
Milan Lukic 2023-01-06 14:40:56 +01:00
parent 8bbe608c0c
commit 4d28be7a18
4 changed files with 56 additions and 37 deletions

View File

@ -11,7 +11,7 @@ public class R2D2 extends Roboter {
private int id; private int id;
//private static int idZähler = 0; //private static int idZähler = 0;
private RobotType robotType; private RobotType robotType;
RobotException fehler; //RobotException fehler;
public R2D2(String name, int id) { public R2D2(String name, int id) {
super(name); super(name);

View File

@ -66,4 +66,8 @@ public RobotFactory (String name) {
return ausgabe; return ausgabe;
} }
public RobotException letzterFehler(int id) {
Roboter r = findeRoboter(id);
return r.getLastException();
}
} }

View File

@ -45,5 +45,8 @@ public class Factorysystem {
return ausgabe; return ausgabe;
} }
public RobotException fehlerAuslesen(int id) {
return robotFactory.letzterFehler(id);
}
} }

View File

@ -34,22 +34,20 @@ public class Factory {
int input = Integer.parseInt(sc.nextLine()); int input = Integer.parseInt(sc.nextLine());
System.out.println(); System.out.println();
switch (input) {
switch (input) { case 0:
case 0: roboterAnzeigen();
roboterAnzeigen(); break;
break; case 1:
case 1: roboterBauen();
roboterBauen(); break;
break; case 2:
case 2: roboterAuswählen();
roboterAuswählen(); break;
break; case 9:
case 9: break mainloop;
break mainloop;
} }
System.out.println(); System.out.println();
} }
@ -81,26 +79,28 @@ public class Factory {
System.out.println("1 -> Zustand abfragen"); System.out.println("1 -> Zustand abfragen");
System.out.println("2 -> AN/AUS machen"); System.out.println("2 -> AN/AUS machen");
System.out.println("3 -> Roboter sprechen lassen"); System.out.println("3 -> Roboter sprechen lassen");
System.out.println("4 -> Letzte Fehlermeldung auslesen");
System.out.println("9 -> Zurück ins Hauptmenü"); System.out.println("9 -> Zurück ins Hauptmenü");
System.out.print("> "); System.out.print("> ");
int input = Integer.parseInt(sc.nextLine()); int input = Integer.parseInt(sc.nextLine());
switch (input) {
switch (input) { case 1:
case 1: zustandAbfragen(id);
zustandAbfragen(id); break;
break; case 2:
case 2: schalterBetätigen(id);
schalterBetätigen(id); break;
break; case 3:
case 3: sprechen(id);
sprechen(id); break;
break; case 4:
case 9: letzteFehlermeldung(id);
break loop; break;
} case 9:
break loop;
}
} }
} }
@ -122,8 +122,8 @@ public class Factory {
} }
} }
private void sprechen(int id) throws RobotException { private void sprechen(int id) {
ArrayList <Integer> zahlenHinzufügen = new ArrayList<>(); ArrayList<Integer> zahlenHinzufügen = new ArrayList<>();
System.out.println("Geben Sie ein Array an!"); System.out.println("Geben Sie ein Array an!");
System.out.println(); System.out.println();
System.out.println("Geben Sie die 1. Zahl an!"); System.out.println("Geben Sie die 1. Zahl an!");
@ -144,14 +144,26 @@ public class Factory {
} else { } else {
weiter = false; weiter = false;
int[] zahlen = zahlenHinzufügen.stream().mapToInt(j -> j).toArray(); int[] zahlen = zahlenHinzufügen.stream().mapToInt(j -> j).toArray();
String ausgabe;
try {
ausgabe = factorysystem.sprechenAufruf(id, zahlen);
System.out.println("Ausgabe: " + ausgabe);
} catch (RobotException e) {
System.out.println("Fehler! Bitte den letzten Fehler auslesen!");
//e.printStackTrace();
}
String ausgabe = factorysystem.sprechenAufruf(id, zahlen);
System.out.println("Ausgabe: " + ausgabe);
} }
} }
} }
private void letzteFehlermeldung(int id) {
System.out.println (factorysystem.fehlerAuslesen(id));
}
} }