Eine gute Antwort wäre:

Bei welchem Output führte der try{}-Block zu keiner Ausnahme? 1
Bei welchem Output hat der try{}-Block eine Ausnahme vom Typ ArithmeticException ausgelöst? 2
Bei welchem Output hat der try{}-Block eine unbehandelte
Ausnahme ausgelöst (eine ohne catch{}-Block)?
3
Bei welchem Output wurde der finally{}-Block ausgeführt? 1, 2, 3

Die catch{}-Blöcke weglassen

Wenn es einen finally{}-Block gibt, können die catch{}-Blöcke weggelassen werden (wenn Sie wollen):

try
{
  // Anweisungen, von denen einige
  // Ausnahmen auslösen könnten
}


finally
{
  // Anweisungen, die ausgeführt werden
  // ganz egal wie der try-Block verlassen wurde
}

// Anweisungen, die der Struktur folgen

Das könnte getan werden, wenn Sie keine Ausnahmen in dieser Methode behandeln möchten, aber Sie ein paar Anweisungen haben, die immer ausgeführt werden müssen bevor die Kontrolle zum Aufrufer zurückkehrt. Das passiert häufig, wenn eine Methode eine Ressource blockiert, die sie vor dem Beenden freigeben sollte. Zum Beispiel, wenn die Methode eine Datei öffnet, sollte sie sie vor dem Beenden schließen.

FRAGE 19:

Warum können die Anweisungen, die der Struktur folgen, nicht zum Schließen der Datei verwendet werden, die von der Methode geöffnet wurde?

Inhaltsverzeichnis