Exceptions Behandlung von Laufzeitfehlern Mit den Exceptions existiert in Java ein Mechanismus zur Behandlung von Laufzeitfehlern. Die Behandlung von Ausnahmen erfolgt mit Hilfe der try...catch-Anweisung. Syntax: try { Anweisung; ... } catch(Ausnahmetyp x) { Anweisung; ... } Der try-Block enthält eine oder mehrere Anweisungen, bei deren Ausführung eine Exception des Typs Ausnahmetyp auftreten kann. In diesem Fall wird innerhalb des catch-Blocks fortgefahren. Beispielsweise ist das folgende Programm fehlerhaft: Beispiel: public class Exc001 {
public static void main(String[] args)
{
int a, c, i;
a=60;
for(i=4;i>=-4;i--)
{
c=a/i;
System.out.println("Quotient: " + c);
}
}
}
Als Ausgabe erhält man:
Quotient: 15
Quotient: 20
Quotient: 30
Quotient: 60
Exception in thread "main" java.lang.ArithmeticException:
/ by zero at Exc001.main(Exc001.java:11)
Das Programm wird abgebrochen, da versucht wird, durch die Zahl 0 zu dividieren. Dieser
Versuch löst eine Arithmetic-Exception aus.
Durch Einschließen des Programmteils, der den Fehler verursacht, in eine try...catch-
Anweisung, kann dies vermieden werden.
public class Exc002
{
public static void main(String[] args)
{
int a=60, c, i;
try
{
for(i=4;i>=-4;i--)
{
c=a/i;
System.out.println("Quotient: " + c);
}
}
catch(ArithmeticException e)
{
System.out.println("Division durch Null.");
}
}
}
Als Ausgabe erhält man:
Quotient: 15
Quotient: 20
Quotient: 30
Quotient: 60
Division durch Null.
Der Fehler tritt immer noch auf. Das Programm fängt ihn aber ab und gibt eine
Fehlermeldung aus.
|