Am 14. September 2017 haben wir eine überarbeitete Fassung unserer Datenschutzrichtlinie veröffentlicht. Wenn Sie video2brain.com weiterhin nutzen, erklären Sie sich mit diesem überarbeiteten Dokument einverstanden. Bitte lesen Sie es deshalb sorgfältig durch.

Jetzt lerne ich Java 6

Einführung in Exceptions

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Auch wenn IDEs wie NetBeans oder Eclipse die Syntax überprüfen und die Tipparbeit durch Auswahlmenüs erleichtern ... einige Fehler überleben immer! Dass in Java vieles anders und auch besser ist, davon versucht Sie Helge Maus zu überzeugen.
04:53

Transkript

Als Programmierer versuchen Sie sie zu vermeiden - die kleinen Biester, die sogenannten Bugs oder auf Deutsch - die Fehler. Dabei hilft eine grafische Entwicklungsumgebung wie hier, zum Beispiel, NetBeans oder Eclipse, oder ähnliche Tools einem schon, dass wenigstens die Syntax stimmt. Auch wenn die Typen kontrolliert, das Ganze ist doch schon um einiges besser geworden als für einen Texteditor. Aber sie schleichen sich immer noch ein. In diesem kleinen Skript hier, das ich vorbereitet habe, habe ich direkt zwei dicke Böcke drin. Diese Böcke tauchen aber nur dann auf, wenn Sie das Programm laufen lassen. Und das sind eben Fehler, die typisch sind. Und früher, in, zum Beispiel, Programmiersprachen, überall in C oder ähnlichem, hatten Sie dann das Problem, dass ja gewisse Fehler einfach Ihr Programm und das ganze Betriebssystem manchmal mit zum Abschluss gemacht haben, ohne dass wir wussten, wo war's denn jetzt und woran liegt's. Und dann ging die Fehlersuche los. Nun auch Java-Programme können sich ungewollt beenden. Kompilieren wir dieses Programm doch mal … einfach, und lassen es ausführen. Wir sehen, das Ganze läuft an und irgendwann bricht das Ganze hier fröhlich ab. Wir haben eine sogenannte "Exception" bekommen - eine Ausnahme. Und zwar innerhalb unseres Programms wir bekommen hier auch noch richtig schön - eine Bezeichnung dieser Exception: eine java.lang.ArrayIndexOutofBoundsException Das heißt, wir haben hier versucht innerhalb eines Arrays auf eine Indexzahl zuzugreifen, die nicht mehr existiert. Nun, der Fehler liegt hier an dieser Stelle. Ich teste hier die Länge meines Arrays und ich bekomme eben 5 als Ergebnis. Aber die 5 an sich ist hier nicht belegt, da ja nur von 0 bis 4 … das Array an Adressen hat, und demensprechend leg ich hier diese Zufallszahl, die ich hier generiere, einfach in eine nicht vorhandene Array-Schublade und damit bekomme ich einen Fehler. Aber selbst, wenn ich das Ganze hier mal kurz korrigieren würde, und das Ganze laufen lassen würde, bekomme ich noch einen Fehler. Und zwar etwas tiefer. Da habe ich wohl versucht, eine Division durch Null durchzuführen und ich bekomme eine java.lang.ArithmekicException. Da ist also ein Berechnungsfehler drin. Hier habe ich versucht durch Null zu definieren. Und das geht natürlich auch nicht. Sie sehen also, innerhalb von Java können Sie feststellen, was für ein Fehler aufgetreten ist. Und diese Exceptions sind, wie es nicht anders zu erwarten ist, Objekte. Und diese Objekte werden ausgelöst und dann weitergegeben, und zwar von Methode zu Methode. Wenn wir zum Beispiel eine Array-Operation tun, zum Beispiel hier oben, dann wird diese Exception, also diese Fehlermeldung, innerhalb einer Array-Methode ausgegeben. Und wenn dieser Fehler nicht behandelt wird innerhalb dieser Methode, dann wird der an die aufrufende Methode weitergegeben. Und das ist unser Hauptprogramm "Main" hier. Und da wir uns auch nicht um diesen Fehler gekümmert haben, bricht dann irgendwann unser Programm ab. Und das ist genau die Meldung, die wir dann auch schon in unserer Konsolenanwendung sehen, dass wir im thread "main" eine Exception hatten. Das Schöne jetzt an Sprachen wie Java ist, das es eine wirkliche Fehlerbehandlung gibt. Das bedeutet, wenn Sie wollen, können Sie eine spezielle Fehlerbehandlung nun schreiben. Das heißt, wenn Ihnen während der Laufzeit ein Fehler unterläuft, können Sie diesen Fehler in eine Methode abfangen und behandeln. Das heißt jetzt natürlich nicht, dass Sie jetzt fröhlich loslegen sollten und Programme fehlerhaft schreiben. Denn Exception Handling ist sehr performancelastik. Aber Sie haben den Vorteil, dass Sie, anstatt wie es hier der Fall ist, dass das Programm einfach abbricht - vielleicht Datenbankenverbindungen offen bleiben, Passwörter nicht gespeichert werden, und vieles vieles mehr - dass Sie zum Beispiel geordnet das Ganze beenden können. Sie machen zuerst Ihren Schreibzugriff in die Datei zu, und danach machen Sie die Datenbankverbindung zu. Und dann erst beenden Sie das Programm. Oder Sie machen anders im Programm weiter. Ein typischer Punkt für eine weitere Exception wäre, zum Beispiel, Sie haben in einer grafischen Oberfläche ein Eingabefeld für einen Taschenrechner. Da erwarten Sie eine Zahl und irgendjemand schreibt vier in Worten hinein. Auch dann können Sie eine Exception auslösen. Beziehungsweise sie wird vermutlich ausgelöst. Und Sie können sie behandeln und dann entsprechende Fehlermeldungen ausgeben. Darum soll es in dem folgenden Film gehen: Gezieltes Behandeln von Fehlern. Auf geht's!

Jetzt lerne ich Java 6

Steigen Sie ein in die Programmierung mit Java 6, lernen Sie die Grundlagen kennen und unternehmen Sie anschließend Ihre ersten Schritte in der objektorientierten Programmierung.

12 Std. 27 min (98 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!