Exceptions import java.sql.*; public class MyException{ boolean b; Statement stat; public MyException(){ b = stat.execute("xyz"); } } Beim Übersetzen dieses Programms ergibt sich eine Fehlermeldung, die sich auf diese Anweisung bezieht Es gibt Anweisungen, die unbedingt in Verbindung mit dem sogenannten try ... catch verwendet werden müssen, weil die Anweisung einen Fehler verursachen (Fehlerobjekt werfen) kann. Dieser Fehler muß dann im catch-Block bearbeitet (eingefangen) werden. Es gibt zwar auch Anweisungen, die einen Fehler bewirken können und nicht mit try ... catch bearbeitet werden müssen. Doch dies ist nicht ratsam (schlechter Programmierstil), da dann dieser durch Java "geworfene" Fehler automatisch mit dem StandardAusnahme-Handler von Java bearbeitet wird, der dann eine unspezifische Fehlermeldung ausgibt und nicht die Fehlermeldung, die der Programmierer ausgeben will. Der Fehler wird dadurch also nicht innerhalb des Programms abgefangen und kann deshalb nicht nach den Wünschen des Programmierers bearbeitet werden (z.B. entsprechende Meldung in einem Textfeld des Fensters). Beispiel in Java public class MyException { double erg; } versucht den String "abc" in eine Zahl umzuwandeln. Dabei wird ein Fehlerobjekt public MyException(){ der Klasse Throwable try{ geworfen ... erg = Double.parseDouble("abc"); } catch(Throwable e){ System.out.println("Falsche Eingabe"); } ... und im catch-Block wieder } eingefangen (d.h. bearbeitet). Bei der Anweisung im try-Block, bei der ein Fehler (z.B. wenn statt einer Zahl eine Zeichenkette eingegeben wurde) auftritt, wird sofort der try-Block verlassen und in die entsprechende catch-Klausel gesprungen. Dann ist die try...catch Anweisung beendet und das Programm macht bei der Anweisung weiter, die dem try...catch Block folgt.