Skip to main content

Woche 12: Fehlerbehandlung und IO

Theorie

Diese Woche besprechen wir Fehlerbehandlung. In einem Programm gibt es verschiedene Arten von Fehler. Wir lernen verschiedene Strategien kennen, wie wir mit Fehlern umgeben können. Zudem diskutieren wir, wann welche Strategie angewendet werden soll.

Selbststudium

Bitte arbeiten Sie die folgenden Lerneinheiten vor den Präsenzveranstaltungen durch.

Präsenzveranstaltung Donnerstag

In der Präsenzveranstaltung werden wir die hier diskutierten Konzepte vertiefen.

Praxis

Präsenzveranstaltung Freitag

In der Präsenzveranstaltung vom Freitag findet die Wiederholungsprüfung statt.

Übungen - In der IDE VSCode

Das Zip-Archiv mit dem Übungsblatt Woche 12 finden Sie auf Adam

Kernaussagen

  • Auch in korrekten Programmen können zur Laufzeit Fehler auftreten.
  • Um in Java zur Laufzeit einen Fehler zu signalisieren, wird eine Exception geworfen.
  • Exceptions können mit try-catch gefangen und behandelt werden.
  • Methoden müssen signalisieren, wenn diese eine Exception werfen.
  • Der Code in der finally Klausel wird immer abgearbeitet, unabhängig davon ob vorher Fehler auftreten.
  • Die finally-Klausel wird zum Aufräumen benutzt.
  • Exceptions werden mittels Klassen definiert und zur Laufzeit sind Exceptions einfach Werte dieser Klasse (also Objekte).
  • Optional wird immer dann eingesetzt, wenn zu erwarten ist, dass eine Methode auch keinen Wert zurückliefern kann.

Lernziele

Die Studierenden

  • wissen, weshalb Fehler in Programmen explizit behandelt werden müssen.
  • können eigene Exceptions definieren und wissen, wie Exceptions geworfen werden.
  • können Fehler mittels try-catch behandeln.
  • wissen, wie man mittels der throws Klausel anzeigt, dass eine Methode eine Exception werfen kann.
  • wissen, wofür man die finally Klausel nutzt und können diese zweckmässig einsetzen.
  • können erklären, weshalb es gefährlich ist, null als Rückgabewert zur Anzeige eines Fehlers zu nutzen.
  • können erklären, wofür man Optional einsetzt und wo die Unterschiede zu Exceptions liegen.
  • können die IO Klassen in Java einsetzen um aus Dateien zu lesen und Dateien zu schreiben.

Literaturhinweise

Die hier beschriebenen Konzepte werden auch im Buch "Introduction to Programming Using Java" von David J. Eck behandelt.