Eine gute Antwort wäre:

Da das eine Ausnahme ist, kann das Programm sie behandlen (mit dem richtigen Code.)

try{} und catch{}

Um eine Ausnahme aufzufangen:

  1. Stellen Sie Code, der eine Ausnahme auslösen könnte, innerhalb eines try{}-Blocks.
  2. Stellen Sie Code, der eine Ausnahme behandelt innerhalb eines catch{}-Blocks.

Hier ist das Beispielprogramm mit zusätzlichen Code das zu tun:

import java.lang.* ;
import java.io.* ;
public class Quadrat
{
  public static void main ( String[] a ) throws IOException
  {
    BufferedReader stdin =
        new BufferedReader ( new InputStreamReader( System.in ) );
    String inData;
    int    zahl ;
    System.out.println("Eine Zahl eingeben:");
    inData = stdin.readLine();

    try
    {
      zahl    = Integer.parseInt( inData );
      System.out.println("Das Quadrat von " + inData + " ist " + zahl*zahl );
    }

    catch (NumberFormatException ex )
    {
      System.out.println("Sie haben falsche Daten eingegeben." );
      System.out.println("Starten Sie das Programm erneut." );
    }
    System.out.println("Good-bye" );
  }
}

Wenn eine Anweisung inerhalb des try{}-Blocks eine NumberFormatException auslöst, wird sofort der catch{}-Block ausgeführt. Die verbleibenden Anweisungen in dem try{}-Block werden ausgelassen. Die Referenzvariable ex verweist auf das Exception-Objekt. (Aber, dieses Beispiel tut nichts damit.)

Nachdem der catch{}-Block ausgeführt ist, wird die Ausführung mit der Anweisung fortgesetzt, die dem catch{}-Block folgt. (Die Ausführung kehrt nicht zum try{}-Block zurück.)

FRAGE 5:

Was gibt das Programm bei diesem Input aus?

Input 1:Input 2:
Unsinn 12

Inhaltsverzeichnis