From 604fe740825646fb36e084df44ec097e7a1d7939 Mon Sep 17 00:00:00 2001 From: nikow Date: Thu, 5 Jan 2023 17:18:25 +0100 Subject: [PATCH] Ausnahmen speichern jetzt den Namen vom Roboter der sie entstanden ist und kann mit der methode getRobotName() ausgelesen werden. --- Roboterfabrik/src/Domäne/C3PO.java | 5 +++-- Roboterfabrik/src/Domäne/Nexus6.java | 6 +++--- Roboterfabrik/src/Domäne/R2D2.java | 4 ++-- Roboterfabrik/src/Domäne/Roboter.java | 4 ++-- .../roboter/exceptions/RobotException.java | 5 +++++ .../exceptions/RobotIllegalStateException.java | 14 ++++++++++++-- .../exceptions/RobotMagicValueException.java | 13 ++++++++++++- 7 files changed, 39 insertions(+), 12 deletions(-) diff --git a/Roboterfabrik/src/Domäne/C3PO.java b/Roboterfabrik/src/Domäne/C3PO.java index 7b67202..e964bd7 100644 --- a/Roboterfabrik/src/Domäne/C3PO.java +++ b/Roboterfabrik/src/Domäne/C3PO.java @@ -30,7 +30,7 @@ public class C3PO extends Roboter { if (isPowerOn() == true) { for (int zahl : zahlen) { if (zahl == 42) { - fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!"); + fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!", this.name); throw fehler; } } @@ -47,9 +47,10 @@ public class C3PO extends Roboter { } return zahlen; } else - fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten."); + fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten.", this.name); throw fehler; } + } diff --git a/Roboterfabrik/src/Domäne/Nexus6.java b/Roboterfabrik/src/Domäne/Nexus6.java index eafe3e9..406a78d 100644 --- a/Roboterfabrik/src/Domäne/Nexus6.java +++ b/Roboterfabrik/src/Domäne/Nexus6.java @@ -8,7 +8,7 @@ public class Nexus6 extends Roboter { String name; int id; RobotException fehler; - private static final Nexus6 PRIS = new Nexus6(); + private static Nexus6 PRIS; private Nexus6() { @@ -41,7 +41,7 @@ public class Nexus6 extends Roboter { //Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert. @Override 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; } @@ -49,7 +49,7 @@ public class Nexus6 extends Roboter { //Methode soll Fehler ausgeben, da der Roboter nicht Funktioniert. @Override 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; diff --git a/Roboterfabrik/src/Domäne/R2D2.java b/Roboterfabrik/src/Domäne/R2D2.java index ab5928d..9c29585 100644 --- a/Roboterfabrik/src/Domäne/R2D2.java +++ b/Roboterfabrik/src/Domäne/R2D2.java @@ -26,7 +26,7 @@ public class R2D2 extends Roboter { if (isPowerOn() == true) { for (int zahl : zahlen) { if (zahl == 42) { - fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!"); + fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!", this.name); throw fehler; } } @@ -45,7 +45,7 @@ public class R2D2 extends Roboter { } return zahlen; } else - fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten."); + fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten.", this.name); throw fehler; } diff --git a/Roboterfabrik/src/Domäne/Roboter.java b/Roboterfabrik/src/Domäne/Roboter.java index 0d38e51..e3d79ae 100644 --- a/Roboterfabrik/src/Domäne/Roboter.java +++ b/Roboterfabrik/src/Domäne/Roboter.java @@ -64,13 +64,13 @@ public abstract class Roboter implements Robot { if (isPowerOn() == true) { for (int zahl : zahlen) { if (zahl == 42) { - fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!"); + fehler = new RobotMagicValueException("Fehler! Zahl 42 im Array!", this.name); throw fehler; } } return prepare(zahlen); } else - fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten."); + fehler = new RobotIllegalStateException("Roboter ausgeschaltet! Bitte einschalten.", this.name); throw fehler; } diff --git a/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotException.java b/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotException.java index aa6d2cd..7bc7ee3 100644 --- a/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotException.java +++ b/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotException.java @@ -2,6 +2,11 @@ package tpe.exceptions.roboter.exceptions; public class RobotException extends Exception { + /** + * + */ + private static final long serialVersionUID = 1L; + public RobotException (String message) { super(message); } diff --git a/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.java b/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.java index 46928da..41ccd5f 100644 --- a/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.java +++ b/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotIllegalStateException.java @@ -1,8 +1,18 @@ package tpe.exceptions.roboter.exceptions; public class RobotIllegalStateException extends RobotException { - - public RobotIllegalStateException (String message) { + /** + * + */ + private static final long serialVersionUID = 1L; + String name; + + public RobotIllegalStateException(String message, String name) { super(message); + this.name = name; + } + + public String getRobotName() { + return this.name; } } diff --git a/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotMagicValueException.java b/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotMagicValueException.java index faa42fc..2a8866f 100644 --- a/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotMagicValueException.java +++ b/Roboterfabrik/src/tpe/exceptions/roboter/exceptions/RobotMagicValueException.java @@ -2,7 +2,18 @@ package tpe.exceptions.roboter.exceptions; 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); + this.name = name; + } + + public String getRobotName() { + return this.name; } }