Guten Tag zusammen,
hab mal einen Blick in C++ in das Exception Handling geworfen und verstehe gerade nur noch Bahnhof.
Also ich kenne von Java das ganze ja so. Schreibt man eine eigene Klasse (Bibliothek) erkennt man von "außen", wenn man die Klasse selbst nicht geschrieben hat, anhand des throws im Methodenkopf welche Exception geworfen werden kann.
Nun hab ich mir das ganze in C++ angeschaut und verstehe es nicht.
Wenn ich eine Exception auslöse in einer Methode:
wie soll man nun wenn man eine Bibliothek mit Exceptions includiert erkennen welche Exceptions geworfen werden?
Natürlich könnte man das ganze dann in try { ... } catch(...) {} packen. Doch das ist doch ähnlich wie finally in Java. Wie soll man dann ein Wunder-Rezept schreiben um sämtliche Exceptions abzufangen und darauf zu reagieren. Mir fällt dort dann nur so etwas ein wie std::exit(); das man das Programm beendet.
Irgendwie kommt mir das Exceptions Handling in C++ sehr mysteriös vor. Gibt es jemand der etwas Klarheit hier rein bringen kann?
hab mal einen Blick in C++ in das Exception Handling geworfen und verstehe gerade nur noch Bahnhof.
Also ich kenne von Java das ganze ja so. Schreibt man eine eigene Klasse (Bibliothek) erkennt man von "außen", wenn man die Klasse selbst nicht geschrieben hat, anhand des throws im Methodenkopf welche Exception geworfen werden kann.
Nun hab ich mir das ganze in C++ angeschaut und verstehe es nicht.
Wenn ich eine Exception auslöse in einer Methode:
C++:
double division(int a, int b) {
if( b == 0 ) {
throw "Division by zero condition!";
}
return (a/b);
}
wie soll man nun wenn man eine Bibliothek mit Exceptions includiert erkennen welche Exceptions geworfen werden?
Natürlich könnte man das ganze dann in try { ... } catch(...) {} packen. Doch das ist doch ähnlich wie finally in Java. Wie soll man dann ein Wunder-Rezept schreiben um sämtliche Exceptions abzufangen und darauf zu reagieren. Mir fällt dort dann nur so etwas ein wie std::exit(); das man das Programm beendet.
Irgendwie kommt mir das Exceptions Handling in C++ sehr mysteriös vor. Gibt es jemand der etwas Klarheit hier rein bringen kann?