package oop.ExceptionHandling;

public class Throwkeyword {
	
	public static void main(String[] args) {
		// hier try und catch sind optional
		try {
			number(-1);
		}catch (Exception e){
			System.out.println("die Zahl ist negativ");
		}
		
		/*
		 *  in diesem try verfachen hier, wird das Block finally 
		 *  erst ausgeführt, before das Block catch mit throw
		 */
		try {
			int x = 5/0;
			
		}catch(Exception e) {
			throw new ArithmeticException("neu throw");
			
		}finally{
			System.out.println("finally Block");
		}
		
		
		
	}
	
	//throws Exception ist hier optional
	static void number(int number) throws Exception {
		
		if (number <= 0) {
			//throw new ArithmeticException();Oder
			//throw new ArithmeticException("das geht nicht");oder
			ArithmeticException message = new ArithmeticException("die Zahl geht nicht");
			throw message;
		}
			
		else
			System.out.println("Die Zahl ist richtig");
	}
}
