9 - Rekursion und Ausnahmen Flashcards

1
Q

Was sind rekursive Methoden?

A

Rekursive Methoden sind Methoden, die sich selbst aufrufen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Was sind die Vorteile von Rekursion?

A

Viele Algorithmen lassen sich rekursiv viel einfacher und eleganter lösen als mit Schleifen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Wie sind rekursive Lösungen aufgebaut?

A

if (Problem klein genug) {
führe nicht-rekursiven Zweig aus
(Trivialfall)
} else {
führe rekursiven Zweig mit kleinerem
Problem aus
}

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Was sind die wesentlichen Unterschiede zwischen Rekursion und Iteration?

A

Iterative Lösungen sind oft schneller, allerdings länger und oft schwieriger zu verstehen. Rekursive Lösungen sind meist kürzer und eleganter und leichter zu verstehen.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Wie soll sich ein Programm beim Auftreten von Fehlern verhalten?

A

Programme müssen auch mit Fehlern umgehen können, sie sollten nicht einfach unkontrolliert abstürzen. Es soll so gut wie möglich weiterlaufen und auf den Fehler reagieren.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Wie funktioniert Exception Handling in Java?

A

Exceptions (Ausnahmen) haben in Java folgende Konzepte:
- geschützter Block (try): Anweisungen werden hier ausgeführt; bei Fehler: Code des Exception Handlers wird ausgeführt
- Exception Handler (catch): Fehler werden hier abgefangen und behandelt (man kann auch mehrere catch-Blöcke angeben)
- Abschlussbehandlung (finally): optional, dient dem sauberen Abschließen der begonnenen Arbeiten; diese Anweisungen werden immer ausgeführt (egal ob Ausnahme aufgetreten ist oder nicht)
- throw: mit dem Keyword throw kann eine Ausnahme manuell ausgelöst werden

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Welche Arten von Ausnahmen gibt es?

A
  • Systemausnahmen (Runtime Exceptions): ArithmeticException (x/0), NullPointerException (Zugriff auf Referenz, die auf null zeigt), ArrayIndexOutOfBoundsException (Index außerhalb des erlaubten Bereichs)
  • Benutzerausnahmen: werden selbst definiert und über die throw-Anweisung ausgelöst (z.B.: throw new MyException(“Info zum Fehler”);)
How well did you know this?
1
Not at all
2
3
4
5
Perfectly