Vorlesung Informatik 2 - Teil A: Java Kurs

5.3 Exceptions werfen

Man kann selbst Exceptions werfen, wenn man einen Fehler feststellt und ihn nicht direkt behandeln will:

Beispiel: wir wollen eine Ausnahme erzeugen, wenn in der Fibonacci-Folge ein negativer Wert oder 0 für n eungegeben wird.

Zunächst suchen wir uns eine passende Exception-Klasse aus der API.  Sehr gut passt die IllegalArgumentException. Allerdings ist das eine RuntimeException, d.h. rufende Methoden müssen diese nicht abfangen (können das aber). 

class Tools{
     public static long fibonacci(int a, int b, int n) throws IllegalArgumentException {
           if(n<=0) throw new IllegalArgumentException("N muss positiv sein);
           if(n==1) return a;
          if(n==2) return b;
          return fibonacci(a,b,n-1)+fibonacci(a,b,n-2);
}

Wenn wir keine passende Exception-KLasse finden, können wir auch throw new Exception("...") schreiben.



Lehrvideo  (YouTube)