changes in Exceptionhandling
parent
073ef835ed
commit
ce8a12071c
|
@ -28,10 +28,10 @@ public class Main {
|
||||||
System.out.print(" " + sorted[i]);
|
System.out.print(" " + sorted[i]);
|
||||||
}
|
}
|
||||||
}catch(RobotException re){
|
}catch(RobotException re){
|
||||||
System.out.println(re);
|
re.printStackTrace();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
System.out.println("last exception thrown");
|
||||||
String re = Herb.getLastException().toString();
|
String re = Herb.getLastException().toString();
|
||||||
System.out.println(re);
|
System.out.println(re);
|
||||||
|
|
||||||
|
@ -43,8 +43,9 @@ public class Main {
|
||||||
System.out.print(" " + sorted[i]);
|
System.out.print(" " + sorted[i]);
|
||||||
}
|
}
|
||||||
}catch(RobotException e){
|
}catch(RobotException e){
|
||||||
System.out.println(e);
|
e.getLocalizedMessage();
|
||||||
}
|
}
|
||||||
|
System.out.println("last exception thrown");
|
||||||
re = Herb.getLastException().toString();
|
re = Herb.getLastException().toString();
|
||||||
System.out.println(re);
|
System.out.println(re);
|
||||||
|
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
package domain;
|
package domain;
|
||||||
|
|
||||||
|
import robot.exceptions.ExceptionStorage;
|
||||||
import robot.exceptions.RobotException;
|
import robot.exceptions.RobotException;
|
||||||
import robot.exceptions.robotExceptions;
|
import robot.exceptions.robotExceptions;
|
||||||
|
|
||||||
|
@ -11,16 +12,16 @@ public class C3PO extends RobotBasics {
|
||||||
super(id, name);
|
super(id, name);
|
||||||
}
|
}
|
||||||
|
|
||||||
// public String ausgabe(int[] input) throws RobotException{
|
/* public String ausgabe(int[] input) throws RobotException{
|
||||||
// if(input.length != 0 && !checkArray(input)){
|
if(input.length != 0 && !checkArray(input)){
|
||||||
// return Arrays.stream(input)
|
return Arrays.stream(input)
|
||||||
// .mapToObj(Integer::toString)
|
.mapToObj(Integer::toString)
|
||||||
// .collect(Collectors.joining("; "));
|
.collect(Collectors.joining("; "));
|
||||||
// }else{
|
}else{
|
||||||
// throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
||||||
// // throw new RobotMagicValueException(getName() + " has an unknown Error. Code 42.");
|
// throw new RobotMagicValueException(getName() + " has an unknown Error. Code 42.");
|
||||||
// }
|
}
|
||||||
// }
|
}*/
|
||||||
@Override
|
@Override
|
||||||
public String speak(int[] input) throws RobotException {
|
public String speak(int[] input) throws RobotException {
|
||||||
if(isPowerOn()){
|
if(isPowerOn()){
|
||||||
|
@ -30,24 +31,21 @@ public class C3PO extends RobotBasics {
|
||||||
return re.toString();
|
return re.toString();
|
||||||
}
|
}
|
||||||
}else{
|
}else{
|
||||||
throw new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
RobotException robotException = new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
||||||
//throw new RobotIllegalStateException(getName() + " is turned off.");
|
this.exceptions = new ExceptionStorage(robotException);
|
||||||
|
throw robotException;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
public int[] sorting(int[] input) throws RobotException{
|
public int[] sorting(int[] input) throws RobotException{
|
||||||
if(input.length != 0 ){
|
|
||||||
if(checkArray(input)){
|
if(checkArray(input)){
|
||||||
return insertionSort(input);
|
return insertionSort(input);
|
||||||
}else{
|
}else{
|
||||||
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
||||||
//throw new RobotMagicValueException(getName() + " has an unknown error. Code 42");
|
//throw new RobotMagicValueException(getName() + " has an unknown error. Code 42");
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
return new int[0];
|
|
||||||
}
|
|
||||||
@Override
|
@Override
|
||||||
public int[] think(int[] input) throws RobotException {
|
public int[] think(int[] input) throws RobotException {
|
||||||
//Insertionsort
|
//Insertionsort
|
||||||
|
|
|
@ -16,58 +16,32 @@ public class R2D2 extends RobotBasics {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @see robot.interfaces.RobotInstructions
|
||||||
|
*/
|
||||||
public int[] think(int[] input) throws RobotException {
|
public int[] think(int[] input) throws RobotException {
|
||||||
if(isPowerOn()){
|
if(isPowerOn()){
|
||||||
return selectionSort(input);
|
return selectionSort(input);
|
||||||
}else{
|
}else{
|
||||||
this.exceptions = new ExceptionStorage( new RobotException(robotExceptions.ILLEGALSTATE, getName()));
|
RobotException robotexception = new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
||||||
throw new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
this.exceptions = new ExceptionStorage(robotexception);
|
||||||
|
throw robotexception;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/*
|
|
||||||
* this method sorts
|
|
||||||
* @param input
|
|
||||||
* @return integer array
|
|
||||||
* @throws RobotException
|
|
||||||
|
|
||||||
public int[] sorting(int[] input) throws RobotException {
|
|
||||||
if(checkArray(input)){
|
|
||||||
//Selectionsort
|
|
||||||
int small;
|
|
||||||
for (int i = 0; i <input.length - 1; i++) {
|
|
||||||
small = i;
|
|
||||||
for (int j = i + 1; j < input.length; j++) {
|
|
||||||
//if there is a smaller number on this position
|
|
||||||
if (input[j] < input[small]) {
|
|
||||||
small = j;
|
|
||||||
//swap values
|
|
||||||
int temp = input[i];
|
|
||||||
input[i] = input[small];
|
|
||||||
input[small] = temp;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return input;
|
|
||||||
}else{
|
|
||||||
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
|
||||||
}
|
|
||||||
|
|
||||||
}*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Die Methode nimmt ein Array aus int entgegen und wandelt diese in einen String um.
|
* @see robot.interfaces.RobotInstructions
|
||||||
* @param input Zahlen, die ausgegeben werden sollen.
|
|
||||||
* @return String oder null
|
|
||||||
* @throws RobotException
|
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public String speak(int[] input) throws RobotException {
|
public String speak(int[] input) throws RobotException {
|
||||||
if (isPowerOn()) {
|
if (isPowerOn()) {
|
||||||
return ausgabe(input, ";");
|
return ausgabe(input, ";");
|
||||||
} else {
|
} else {
|
||||||
this.exceptions = new ExceptionStorage( new RobotException(robotExceptions.ILLEGALSTATE, getName()));
|
RobotException robotexception = new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
||||||
throw new RobotException(robotExceptions.ILLEGALSTATE, getName());
|
this.exceptions = new ExceptionStorage(robotexception);
|
||||||
|
throw robotexception;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -83,8 +83,9 @@ public abstract class RobotBasics implements Robot {
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
}else{
|
}else{
|
||||||
this.exceptions = new ExceptionStorage(new RobotException(robotExceptions.EMPTYARRAY, getName()));
|
RobotException robotexception = new RobotException(robotExceptions.EMPTYARRAY, getName());
|
||||||
throw new RobotException(robotExceptions.EMPTYARRAY, getName());
|
this.exceptions = new ExceptionStorage(robotexception);
|
||||||
|
throw robotexception;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,8 +105,9 @@ public abstract class RobotBasics implements Robot {
|
||||||
.mapToObj(Integer::toString)
|
.mapToObj(Integer::toString)
|
||||||
.collect(Collectors.joining(delemiter + " "));
|
.collect(Collectors.joining(delemiter + " "));
|
||||||
}else{
|
}else{
|
||||||
this.exceptions = new ExceptionStorage(new RobotException(robotExceptions.MAGICVALUE, getName()));
|
RobotException robotexception = new RobotException(robotExceptions.MAGICVALUE, getName());
|
||||||
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
this.exceptions = new ExceptionStorage(robotexception);
|
||||||
|
throw robotexception;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -115,15 +117,22 @@ public abstract class RobotBasics implements Robot {
|
||||||
* @return input int [ ] (sorted)
|
* @return input int [ ] (sorted)
|
||||||
* @throws RobotException
|
* @throws RobotException
|
||||||
*/
|
*/
|
||||||
public int[] insertionSort(int[] input) throws RobotException{
|
public int[] insertionSort(int[] input) throws RobotException {
|
||||||
if(checkArray(input)){
|
if (checkArray(input)) {
|
||||||
return new int[0];
|
for (int i = 1; i < input.length; i++) {
|
||||||
}else{
|
int b = i - 1;
|
||||||
this.exceptions = new ExceptionStorage(new RobotException(robotExceptions.MAGICVALUE, getName()));
|
int key = input[i];
|
||||||
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
while (b >= 0 && input[b] > key) input[b + 1] = input[b--];
|
||||||
}
|
input[b + 1] = key;
|
||||||
|
}
|
||||||
|
return input;
|
||||||
|
}else{
|
||||||
|
RobotException robotexception = new RobotException(robotExceptions.MAGICVALUE, getName());
|
||||||
|
this.exceptions = new ExceptionStorage(robotexception);
|
||||||
|
throw robotexception;
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sorts any given array of integers with the selection Sort algorithm.
|
* Sorts any given array of integers with the selection Sort algorithm.
|
||||||
|
@ -152,9 +161,12 @@ public abstract class RobotBasics implements Robot {
|
||||||
}
|
}
|
||||||
return input;
|
return input;
|
||||||
}else{
|
}else{
|
||||||
this.exceptions = new ExceptionStorage(new RobotException(robotExceptions.MAGICVALUE, getName()));
|
RobotException robotexception = new RobotException(robotExceptions.MAGICVALUE, getName());
|
||||||
throw new RobotException(robotExceptions.MAGICVALUE, getName());
|
this.exceptions = new ExceptionStorage(robotexception);
|
||||||
|
throw robotexception;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
@ -2,8 +2,10 @@ package robot.exceptions;
|
||||||
|
|
||||||
public class RobotException extends Exception{
|
public class RobotException extends Exception{
|
||||||
robotExceptions currentType;
|
robotExceptions currentType;
|
||||||
|
String name;
|
||||||
public RobotException(robotExceptions type, String name){
|
public RobotException(robotExceptions type, String name){
|
||||||
super(getMessage(type, name));
|
super(getMessage(type, name));
|
||||||
|
this.name = name;
|
||||||
this.currentType = type;
|
this.currentType = type;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -18,5 +20,10 @@ public class RobotException extends Exception{
|
||||||
return message;
|
return message;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public String toString(){
|
||||||
|
return getMessage(this.currentType, this.name);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue