Java Reference
In-Depth Information
private void initGUI() {
try
{
...
} catch (Exception e) {
e.printStackTrace();
}
}
Listing 10.2 Von Jigloo erstellter Code zum Exception-Handling
Wie das Schlüsselwort try bereits aussagt, wird ein Versuch unternommen. Der Anwei-
sungsblock hinter try beinhaltet die Anweisungen zum Aufbau des Frames mit all sei-
nen Komponenten. Es wird also versucht, den Frame aufzubauen. Die catch -Anweisung
im Anschluss an den try -Block ist dazu da, auf dabei eventuell auftretende Fehler der
Art Exception (es gibt auch andere Fehlerarten, auf die auch anders reagiert werden
muss bzw. gar nicht reagiert werden kann) zu reagieren. Tritt kein Fehler innerhalb des
try -Blocks auf, wird der gesamte catch -Block übersprungen.
Mit catch wird, wie der Name zum Ausdruck bringt, die Exception abgefangen. Damit
Sie als Programmierer den Fehler näher auswerten können, brauchen Sie eine Zugriffs-
möglichkeit. Durch die »Parameterangabe« (Exception e) wird ein Objekt e der Klasse
Exception definiert. Mit dem Bezeichner e haben Sie dann innerhalb des catch -Blocks
Zugriff auf den aufgetretenen Fehler. Jigloo erstellt standardmäßig den Aufruf der
Methode printStackTrace() als einzige Anweisung innerhalb des catch -Blocks. Selbst-
verständlich können Sie das jederzeit ändern und damit anders auf einen Fehler reagie-
ren. Die Methode printStackTrace() erzeugt in der Konsole die in Abschnitt 10.1.2 ,
»Exception als Reaktion auf Fehler«, abgedruckte Textausgabe, die den Fehler detailliert
beschreibt. In Programmen mit grafischer Benutzeroberfläche sind diese Ausgaben nur
für den Programmierer sichtbar und interessant. Meldungen, die dem Anwender des
Programms Hilfestellung geben, müssen in den sichtbaren Komponenten der Frames
oder in eigenen Meldung-Frames dargestellt werden.
Sie können in Ihrer Berechnungsmethode auftretende Fehler mit try-catch abfangen.
Da Sie in diesem Fall nicht näher prüfen, wo genau die Falscheingabe vorliegt, müssen
Sie auch eine recht allgemein gehaltene Fehlermeldung verwenden.
private void berechnen() {
int stueckzahl;
double stueckpreis, rabattsatz, bruttopreis, rabatt,
einkaufspreis;
Search WWH ::




Custom Search