Hallo,
ich habe die ganze Zeit versucht mich darüber informieren, bin aber nur etwas schlauer geworden.
Ich weiß, dass throws in der Methodensignatur steht, um eine Exception weiterzuwerfen und throw selbst eine Exception zu werfen. Mit Try-Catch kann man dann die Ausnahme behandeln oder?
Ich verstehe immer noch nicht, wann ich was benutzen soll.
Gibt folgendes aus:
Folgende Fragen schwirren in meinem Kopf:
1. Soweit ich verstanden habe, ruft die main Methode method3() auf, dieser ruft method2() auf und dieser wiederum method()1, die eine Exception wirft und dieser leitet es weiter an method3() welche die Exception behandelt? Ist das richtig?
2. Aber warum erscheint in der Konsole auch nicht "Calculation error" sondern nur "ArithmeticException handled"?
3. Kann man bei method3() die "throws ArithmeticException" im Methodenkopf entfernen? Macht das sinn?
ich habe die ganze Zeit versucht mich darüber informieren, bin aber nur etwas schlauer geworden.
Ich weiß, dass throws in der Methodensignatur steht, um eine Exception weiterzuwerfen und throw selbst eine Exception zu werfen. Mit Try-Catch kann man dann die Ausnahme behandeln oder?
Ich verstehe immer noch nicht, wann ich was benutzen soll.
Code:
class Example1{
void method1() throws ArithmeticException{
throw new ArithmeticException("Calculation error");
}
void method2() throws ArithmeticException{
method1();
}
void method3(){
try{
method2();
}
catch(ArithmeticException e){
System.out.println("ArithmeticException handled");
}
}
public static void main(String args[]){
Example1 obj=new Example1();
obj.method3();
System.out.println("End Of Program");
}
}
Gibt folgendes aus:
Code:
ArithmeticException handled
End Of Program
Folgende Fragen schwirren in meinem Kopf:
1. Soweit ich verstanden habe, ruft die main Methode method3() auf, dieser ruft method2() auf und dieser wiederum method()1, die eine Exception wirft und dieser leitet es weiter an method3() welche die Exception behandelt? Ist das richtig?
2. Aber warum erscheint in der Konsole auch nicht "Calculation error" sondern nur "ArithmeticException handled"?
3. Kann man bei method3() die "throws ArithmeticException" im Methodenkopf entfernen? Macht das sinn?