C++

Catch

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Um auf nicht explizit deklarierte Exceptions reagieren zu können, zeigt Ihnen der Trainer den notwendigen Aufbau des try-catch-Blocks.

Transkript

Manchmal möchte man auch Ausnahmen abfangen, die man so gar nicht vorher kannte. Und dazu zeige ich Ihnen mal ein Beispiel wie man sowas machen kann. Also hier haben wir erstmal eine Klasse my_Exception, wie gehabt mir setname und ausexception und jetzt gleich mal das Gleiche mit my_Exception2, einfach anders genannt, ansonsten genau das Gleiche an Methoden. Und in myfun verzweigen wir uns natürlich jetzt schonmal ganz schön. Erstmal hier unsere Nuntzfunktion, 1 liefert ok, wenn ich rechne eingebe, dann gebe ich mit my_Exception2 die sonstige Exception aus, nenne ich mal jetzt hier mein Fehler sonstige . Diese Exception 2 werden wir nachher gar nicht direkt abfragen. Ja na und das andere kennen wir schon QUIT und ENDE und Exception haben wir hier auch wieder mit und thrown das hier entsprechend. So und jetzt zum Hauptprogramm. Was mache ich da? Try natürlich erstmal, mein Abfrageblock mit myfun und jetzt kommen die catches,das ist klar, char *msg hatten wir schon, meine_Exception mit & haben wir hier auch, der gebe ich dann auch die entsprechende Methode aus und jetzt fange ich alles andere ab mit catch (...). Das sind alle sonstigen, nicht explizit angegebenen Ausnahmen. Wenn ich jetzt hier oben den weglasse, würde der hier auch abgefangen werden. Und das probieren wir jetzt mal aus, was da passiert. Da kann ich jetzt hier natürlich wieder mal 1 eingeben, ich kann meine exception hier eintippenm kommt hier mein Fehler raus, quit und ende würden natürlich hier auch entsprechend funktionieren, aber ich kann jetzt hier rechner eintippen, das ist die exception 2 und bekomme hier Sonstige Fehler. Ich kann auf die Daten die ich hier eingegeben habe natürlich auf dieser Art und Weise nicht zugreifen, wenn ich das möchte, dann muss ich hier mir die Fehlermeldung hier entsprechend kopieren, my_Exception 2 schreiben. Und jetzt probieren wir das Ganze nochmal aus. So und ich gebe jetzt mal rechner an und bekomme mein Fehler sonstige, weil ich jetzt den hier entsprechend auch, geben wir hier ende ein, ENDE, muss ja natürlich hier ohne Leerzeichen machen, weil ich das jetzt ja auch explizit abgefangen habe. Und wenn ich den hier jetzt zum Beispiel nicht abfange, ich kommentiere das hier einfach mal raus und starte das Ganze mal. So jetzt, 1 kann ich natürlich nach wie vor eingeben, wir können auch exception eingeben ohne das was passiert, auch rechne , das iszt das sonstige, aber ich kann jetzt hier nicht ende eingeben, dann kommt nämlich Sonstiger Fehler, nicht mehr meine alte Meldung, das ist klar, die Meldung wird auch nicht ausgegeben, weil hier habe ich keine Paramether ich weiß nicht was für ein Datentyp übergeben wird. Ich kann also nur was ganz allgemeines an dieser Stelle ausgeben, aber ich kann immerhin jeden Fehler, der hier mit throw ausgelöst wird auch auf dieser Art und Weise definiert abfangen.

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!