Eine gute Antwort wäre:

  1. Sie in einem catch{}-Block auffangen oder
  2. sie an den Aufrufer der Methode weiterreichen.

Den schwarzen Peter weitergeben

Wenn eine Methode eine geprüfte Ausnahme an ihrem Aufrufer weiterreicht, muss der Aufrufer eines von diesen zwei gleichen Dingen tun. Und wenn der Aufrufer die Ausnahme an seinen Aufrufer weiterreicht, dann muss dieser Aufrufer ebenfalls eines von diesen zwei gleichen Dingen tun und so weiter. Letztendlich wird die Ausnahme behandelt werden, möglicherweise durch das Laufzeitsystem (welches das Programm beendet und ein Stack-Protokoll ausgibt). Hier ist ein Code Grundgerüst:

public class SchwarzenPeterWeiterreichen
{

  public static void methodeC() throws IOException
  {
     // einige I/O Anweisungen
  }

  public static void methodeB() throws IOException
  {
     methodeC();
  }

  public static void methodeA() throws IOException
  {
     methodeB();
  }

  public static void main ( String[] a ) throws IOException
  {
     methodeA();
  }

}

In diesem Beispiel reicht jede Methode IOException weiter an ihren Aufrufer. Angenommen, dass eine IOException in methodeC() auftritt. Sie reicht die Ausnahme an methodeB(), welche sie an methodeA() weitergibt, welche wiederum sie an main() übergibt. Die Ausnahme erreicht schließlich das Laufzeitsystem, welches das Programm beendet und ein Stack-Protokoll ausgibt.

FRAGE 7:

Wenn eine IOException in methodeC() auftritt, wie wird das Stack-Protokoll aussehen (ungefähr)?

Inhaltsverzeichnis