Hinweis: Die Implementierung der Frage 2 unterscheidet sich nur in den benutzten Ausnahmen von der Frage 2.52!
Welche der beiden catch Blöcke werden im folgenden Programm durchlaufen? Welche Ausgaben erzeugt das folgende Programm?
package s1.block10; public class Frage7 { public static void main(String[] args) { int a = 5; int b = 0; int c = 0; System.out.println("main:before"); c = doubleDiv(a, b); System.out.println("main:after"); } static int doubleDiv(int a, int b) { int d; System.out.println("doubleDiv:before"); try { d = 2 * divide(a, b); } catch (RuntimeException e) { System.out.println("doubleDiv: Division durch Null"); d=-2; } System.out.println("doubleDiv:after"); return d; } static int divide(int a, int b) { int d; System.out.println("divide:before"); try { d = a / b; } catch (IllegalArgumentException e) { System.out.println("divide: Division durch Null"); d = -1; } System.out.println("divide:after"); return d; } // Ende main() } // Ende der Klasse
Die Antwort finden Sie hinter der nächsten Frage (URL rechts unten klicken).
Niveau | 2 |
Schwierigkeitsgrad | mittel |
Zeit | 6 Minuten |
Antwort zu Frage 7: Programmablauf bei mehrern try-catch-Blöcken
Es wird nur der try-catch Block in divide() aufgerufen:
main:before doubleDiv:before divide:before divide: Division durch Null divide:after doubleDiv:after main:after
- Printer-friendly version
- Log in to post comments
- 4538 views