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 static int idZähler = 0;
private RobotType robotType;
RobotException fehler;
//RobotException fehler;
public R2D2(String name, int id) {
super(name);

View File

@ -66,4 +66,8 @@ public RobotFactory (String name) {
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;
}
public RobotException fehlerAuslesen(int id) {
return robotFactory.letzterFehler(id);
}
}

View File

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