Analysieren Sie den Programmablauf des folgenden Programms.
Im Programm tritt eine Division durch Null auf. Diese Division löst eine ArithmeticException aus.
Zur Hilfe sei die Klassenhierarchie der relevanten Ausnahmeklassen gegeben:
Markieren Sie im Programm die |
package s1.block10; public class Frage3 { public static void main(String[] args) { int a = 5; int b = 0; int c = 0; System.out.println("main:Anfang"); c = divAussen(a, b); System.out.println("main:Ende"); } // Ende von main static int divAussen(int a, int b) { int d; System.out.println("divAussen:Anfang"); try { d = 2 * divInnen(a, b); } catch (ArithmeticException e) { System.out.println("divAussen: Division durch Null"); d = -2; } System.out.println("divAussen:Ende"); return d; } // Ende von divAussen static int divInnen(int a, int b) { int d; System.out.println("divInnen:Anfang"); try { d = a / b; // Hier tritt eine Ausnahme auf } catch (IllegalArgumentException e) { System.out.println("divInnen: Division durch Null"); d = -1; } catch (RuntimeException e) { System.out.println("divInnen: Division durch Null;" + " RuntimeException"); d = -2; } System.out.println("divInnen:Ende"); return d; } // Ende von divInnen } // Ende der Klasse.
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 6 Minuten |
Antwort zur Frage 2: Checked Exceptions
Der Entwickler muss die Ausnahme immer behandeln. Entweder behandelt er sie direkt oder er reicht sie aus der aktuellen Methode heraus. Das Herausreichen geschieht mit dem Schlüsselwort throws. In diesem Fall muss sich die äussere Methode um das Behandlen der Ausnahme kümmern.
- Printer-friendly version
- Log in to post comments
- 4039 views