/*
P R O G R A M M B E S C H R E I B U N G
Da die Division durch 0 kein Fehlerobjekt der Klasse NullPointerException 
erzeugt (sondern ein Fehlerobjekt der Klasse ArithmeticException), wird 
das Fehlerobjekt nicht in dem catch-Teil eingefangen, sondern durch throw
an die aufrufende, umgebende Methode (hier main) weitergeworfen.
Da es aber kein Konstrukt der Form folgenden Form gibt, wird der 
Ausnahme-Handler aufgerufen:
try{
  main(...);
}
catch{
 ...
}
*/

package de;
public class MainException16{
	// Angabe von throws unnötig, da die Division ein Fehlerobjekt erzeugt,
	// das keinen Ausnahme-Handler benötigt, bzw. keine Angabe (mit throws)
	// der Fehlerklasse braucht.
	// public static void main(String[] args) throws Throwable {		
	
	public static void main(String[] args) throws Throwable {
		double erg;
		try{
			erg=myDivision(15, 0);
		}
		// Division durch 0 erzeugt keine NullPointerException
		catch(NullPointerException t){
			System.out.println("Division durch 0 unmöglich");			
		}
	}		
	
	public static double myDivision(int a, int b) throws Throwable{
		double erg=a/b;
		return erg;
	}
}



