# Array Exception Methode



## Nummer6800 (1. Jan 2015)

Hallo.

In meinem try Block versuche ich meinen Array an die Methode ganz oben im Code zu uebergeben.
Gibt es da einen Trick fuer den try-Block?

Eine Zeile mit dem Methodenaufruf fuer den try Block waere toll. Oder sonstwo, wie ich das mit dem Array loesen kann.

In meinen Java Buechern ist das immer nur mit normalen Variablen. Mit dem Array kriege ich das einfach nicht hin.

Bitte keine Antworten wie in den Matheforen. Die einem nur weiterhelfen wenn man die Loesung schon kennt. Vielen Dank im vorraus.

Aufgabe: Der folgende Codeausschnitt soll überprüfen, ob ein Integer-Array  nur positive Zahlen beinhaltet.
Wenn eine negative Zahl gefunden wird, soll eine Exception erzeugt werden.


```
public class ArrayTools {


  public static void checkArray(int[] array) {
    for (int i=0; i < array.length; i++) {
      if (array[i] < 0) {
         // Ausnahme erzeugen
      }
    }
  }
}
```

Erstellen Sie eine checked Exception CheckArrayException und ergänzen Sie den oben stehenden Code, so dass die Ausnahme erzeugt wird. 


Die Methode getMessage() ihrer Ausnahme soll dabei ausgeben an welcher Stelle im Array eine negative Zahl gefunden wurde und wie die negative Zahl lautet. Dabei soll immer das erste Auftreten (kleins-ter Index) einer negativen Zahl angegeben werden.

Erweitern Sie die Klasse ArrayTools um eine main-Methode, die checkArray mit dem Integer-Array [0, 1, 2, 3, -4, 5, 6, -7] aufruft. 

Fügen Sie einen try-catch-Block ein, der eine CheckArrayException abfängt und die getMessage() -Methode aufruft und ausgibt.

Beispiel:

java ArrayTools
> An Stelle 4 wurde eine negative Zahl gefunden: -4


----------



## Saheeda (1. Jan 2015)

```
public static void main(String args[]) {
		
		int[] a = {0, 1, 2, 3, -4, 5, 6, -7}; 
		
		try {
			checkArray(a);
		} catch (CheckArrayException e) {
			System.out.println(e.getMessage());
		}	
		
	}
```


----------



## Nummer6800 (1. Jan 2015)

Vielen Dank. So ähnlich sah auch einer meiner vielen Loesungen aus. Ich habe gehofft es lag an dem Array.
Vielleicht poste ich lieber den ganzen Code:
Als Loesung kriege ich immer null.


```
public class CheckArrayException extends Exception {

}




public class ArrayTools {
 
  public static void checkArray(int[] array) throws CheckArrayException {
    for (int i=0; i < array.length; i++) {
      if (array[i] < 0) {
      throw new CheckArrayException();
      }
    }
  }


  public static void main(String args[]) {
 
  int[] a = {0, 1, 2, 3, -4, 5, 6, -7};
 
     try {
        checkArray(a);
     } catch (CheckArrayException e) {
        System.out.println(e.getMessage());
     }
 
  }
}
```


----------



## Saheeda (1. Jan 2015)

Du musst auch die getMessage() Methode der Exception überschreiben. Woher soll sonst die Nachricht kommen?


----------

