Unsere Datenschutzrichtlinie wird in Kürze aktualisiert. Bitte sehen Sie sich die Vorschau an.

C++

Try/catch

Testen Sie unsere 2015 Kurse

10 Tage kostenlos!

Jetzt testen Alle Abonnements anzeigen
Mit der Ausnahmebehandlung können Sie auf zur Laufzeit auftretende Fehler kontrolliert reagieren, ohne das Programm beenden zu müssen.

Transkript

Ganz wichtig bei der Programmierung sind die sogenannten Ausnahmebehandlungen. Ausnahmebehandlungen das nennt man auch Exceptions. Werden Sie vielleicht öfters schon bekommen haben, von Laufzeitsystem heißt das dann Exception sowie noch passiert, dann muss man sich überlegen, was da los ist. Diese Exception kann man aber auch ganz gezielt in Programmen einsetzen, man kann Sie selber auslösen und selber auch abfangen. Das Abfangen ist natürlich auch wichtig. Wenn eine Exception ausgelöst wird, zum Beispiel vom System, dann möchte ich ja irgendwie darauf reagieren, eine Fehlermeldung an den User ausgeben und nicht einfach abstürzen zum Beispiel. Aber ganz gererisch sind diese Exception erstmal interessant, weil man sie auch selber auslösen kann im Fehlerfall zum Beispiel oder bei Abbrüchen oder ähnlichen. Dazu habe ich jetzt mal eine kleine Funktion vorbereitet, die heißt myfun. Da gibt es einfach eine Angabe, ich hole mir ein Buffer, wenn der Wert gleich 1 ist als String gebe ich ok aus und wenn der Wert quit ist als der Text quit eingegeben wird, dann gebe ich jetzt hier den throw an. Throw heißt also Exception auslösen, "QUIT aufgerufen" als Parameter. Hier kann man Parameter angeben, die sind wichtig, damt man nachher den Exception auch wiederfindet. Das ist einfach ein char* jetzt in dem Fall und an dieser Signatur kann ich natürlich später den Fehler dann entsprechend abfangen. Im Hauptprogramm macht man dazu folgendes: Erstens mal braucht man ein sogenannten tryblockk. Try ist eigentlich das Geheimnis der Ausnahmebehandlung. Mit try umklammere ich die zu prüfene Funktion oder Befehle die man hat und dann kann ich in catchblock nachher die Fehler abfangen, da gibt es ganz unterschiedliche catch-Arten, catch (char *msg) das passt zur Signatur, die wir bei throw in dem Fall ausgeben, kann ich nömlich genau meine Fehlerbehandlung aufrufen, also mein Exception abfangen und hier die Fehlermeldung zum Beispiel ausgeben und danach das mit Exit das Programm verlassen oder mit Return, das kann man sich ja dann überlegen, da kann man auch irgendwas braves tun, man muss ja das Programm nicht gleich verlassen, wenn man weiß um welche Fehler es sich handelt. Es gibt natürlcih viele Exceptions, wenn ich die nicht abfange, werden die weiter raufgereicht im Betriebssystem und führen dann zu einer Meldung an den User, die ich eben nicht abgefangen habe. Jetzt testen wir das Ganze mal aus, starten wir das Ganze hier und schauen mal, was bei unserer selbsgebauten Exception passiert. Also ich gebe jetzt mal 1 an, da kommt ok raus, ich gebe irgendwas anders an, kommt nicht raus und wenn ich jetzt hier quit eintippe, QUIT aufgerufen und das Programm wird beendet. Also hier haben wir jetzt ein ganz einfachen drei-catchblock, mit einem eigenen throw durchgeführt.

C++

Machen Sie sich mit den einfachen Grundlagen zu C++ vertraut und lernen Sie anhand zahlreicher Übungs- und Codebeispiele die Klassenkonzepte, Prozeduren und Funktionen kennen.

9 Std. 3 min (143 Videos)
Derzeit sind keine Feedbacks vorhanden...
 

Video-Training auf DVD mit Bonusmagazin

+ Tutorial to go: Mit Videos für iPod, iPhone & Co.

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!