Alexander Erlich
2004-02-25 19:42:47 UTC
Guten Tag,
in einem online-Javakurs [
http://www.galileocomputing.de/openbook/javainsel2/java_070000.htm ] steht
folgendes:
import javax.swing.*;
public class ContinueInput
{
public static void main( String args[] )
{
int number = 0;
while ( true )
{
try
{
String s = JOptionPane.showInputDialog(
"Bitte Zahl eingeben" );
number = Integer.parseInt( s );
break;
}
catch ( NumberFormatException e )
{
System.out.println( "Das war keine Zahl!" );
}
}
System.out.println( "Danke für die Zahl " + number );
System.exit( 0 );
}
}Die gewählte Lösung ist einfach. Wir programmieren den gesamten Teil in
einer Endlosschleife. Geht die problematische Stelle ohne Fehler durch, so
beenden wir die Schleife mit break. Kommt es zu einer Ausnahme, dann wird
break nicht ausgeführt, und nach der Exception gelangen wir wieder in die
Endlosschleife.
--------------------------------
An dieser Stelle habe ich eine Frage: warum wird, wenn es zu einer Exception
kommt, wieder am Anfang der Schleife gelesen?
Vielen Dank im Voraus!
Gruß Alexander
in einem online-Javakurs [
http://www.galileocomputing.de/openbook/javainsel2/java_070000.htm ] steht
folgendes:
import javax.swing.*;
public class ContinueInput
{
public static void main( String args[] )
{
int number = 0;
while ( true )
{
try
{
String s = JOptionPane.showInputDialog(
"Bitte Zahl eingeben" );
number = Integer.parseInt( s );
break;
}
catch ( NumberFormatException e )
{
System.out.println( "Das war keine Zahl!" );
}
}
System.out.println( "Danke für die Zahl " + number );
System.exit( 0 );
}
}Die gewählte Lösung ist einfach. Wir programmieren den gesamten Teil in
einer Endlosschleife. Geht die problematische Stelle ohne Fehler durch, so
beenden wir die Schleife mit break. Kommt es zu einer Ausnahme, dann wird
break nicht ausgeführt, und nach der Exception gelangen wir wieder in die
Endlosschleife.
--------------------------------
An dieser Stelle habe ich eine Frage: warum wird, wenn es zu einer Exception
kommt, wieder am Anfang der Schleife gelesen?
Vielen Dank im Voraus!
Gruß Alexander