Ausnahmen speichern jetzt den Namen vom Roboter der sie entstanden ist

und kann mit der methode getRobotName() ausgelesen werden.
master
nikow 2023-01-05 17:18:25 +01:00
parent 98f688fa9d
commit 604fe74082
7 changed files with 39 additions and 12 deletions

View File

@ -30,7 +30,7 @@ public class C3PO extends Roboter {
if (isPowerOn() == true) { if (isPowerOn() == true) {
for (int zahl : zahlen) { for (int zahl : zahlen) {
if (zahl == 42) { if (zahl == 42) {
fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!"); fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!", this.name);
throw fehler; throw fehler;
} }
} }
@ -47,9 +47,10 @@ public class C3PO extends Roboter {
} }
return zahlen; return zahlen;
} else } else
fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten."); fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten.", this.name);
throw fehler; throw fehler;
} }
} }

View File

@ -8,7 +8,7 @@ public class Nexus6 extends Roboter {
String name; String name;
int id; int id;
RobotException fehler; RobotException fehler;
private static final Nexus6 PRIS = new Nexus6(); private static Nexus6 PRIS;
private Nexus6() { private Nexus6() {
@ -41,7 +41,7 @@ public class Nexus6 extends Roboter {
//Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert. //Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert.
@Override @Override
public String speak(int[] zahlen) throws RobotException { public String speak(int[] zahlen) throws RobotException {
fehler = new RobotIllegalStateException ("Roboter ausgeschaltet und Defekt!"); fehler = new RobotIllegalStateException ("Roboter ausgeschaltet und Defekt!", this.name);
throw fehler; throw fehler;
} }
@ -49,7 +49,7 @@ public class Nexus6 extends Roboter {
//Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert. //Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert.
@Override @Override
public int[] think(int[] zahlen) throws RobotException { public int[] think(int[] zahlen) throws RobotException {
fehler = new RobotIllegalStateException ("Roboter ausgeschaltet und Defekt!"); fehler = new RobotIllegalStateException ("Roboter ausgeschaltet und Defekt!", this.name);
throw fehler; throw fehler;

View File

@ -26,7 +26,7 @@ public class R2D2 extends Roboter {
if (isPowerOn() == true) { if (isPowerOn() == true) {
for (int zahl : zahlen) { for (int zahl : zahlen) {
if (zahl == 42) { if (zahl == 42) {
fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!"); fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!", this.name);
throw fehler; throw fehler;
} }
} }
@ -45,7 +45,7 @@ public class R2D2 extends Roboter {
} }
return zahlen; return zahlen;
} else } else
fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten."); fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten.", this.name);
throw fehler; throw fehler;
} }

View File

@ -64,13 +64,13 @@ public abstract class Roboter implements Robot {
if (isPowerOn() == true) { if (isPowerOn() == true) {
for (int zahl : zahlen) { for (int zahl : zahlen) {
if (zahl == 42) { if (zahl == 42) {
fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!"); fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!", this.name);
throw fehler; throw fehler;
} }
} }
return prepare(zahlen); return prepare(zahlen);
} else } else
fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten."); fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten.", this.name);
throw fehler; throw fehler;
} }

View File

@ -2,6 +2,11 @@ package tpe.exceptions.roboter.exceptions;
public class RobotException extends Exception { public class RobotException extends Exception {
/**
*
*/
private static final long serialVersionUID = 1L;
public RobotException (String message) { public RobotException (String message) {
super(message); super(message);
} }

View File

@ -1,8 +1,18 @@
package tpe.exceptions.roboter.exceptions; package tpe.exceptions.roboter.exceptions;
public class RobotIllegalStateException extends RobotException { public class RobotIllegalStateException extends RobotException {
/**
*
*/
private static final long serialVersionUID = 1L;
String name;
public RobotIllegalStateException (String message) { public RobotIllegalStateException(String message, String name) {
super(message); super(message);
this.name = name;
}
public String getRobotName() {
return this.name;
} }
} }

View File

@ -2,7 +2,18 @@ package tpe.exceptions.roboter.exceptions;
public class RobotMagicValueException extends RobotException { public class RobotMagicValueException extends RobotException {
public RobotMagicValueException (String message) { /**
*
*/
private static final long serialVersionUID = 1L;
String name;
public RobotMagicValueException (String message, String name) {
super(message); super(message);
this.name = name;
}
public String getRobotName() {
return this.name;
} }
} }