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.