![]() |
[C++] try-catch
Hallo,
vielleicht gibts hier auch C++ Programmierer, in einem C++ Forum wussten die nicht so genau worauf ich hinaus will. Ich suche das Gegenstück zu try-except in Delphi, habe z.B folgenden Code:
Code:
Jedoch wird der Fehler nicht abgefangen vom catch Block, auch nicht mit catch() oder mit catch(exception)
int main () {
int zahl; try { zahl = 12/0; } catch (...) { cout << "Fehler aufgetreten: "; } } Geht das einfach nicht, und ich kann in catch nur Fehler abfangen, die davor mit throw ausgelöst wurden? Ich meine try except Blöcke oder aehnliches sind doch gerade dafür da, z.B nicht bedacht Fehler abzufangen. Gruss und Dank lkz633 |
Re: [C++] try-catch
Code:
das beispiel fängt alle exceptions ab. das sollte jedoch im regelfall nicht verwendet werden. es sollen nur exceptions abgefangen werden, auf denen man auch reagieren kann. da man in dem oberen fall nicht weiß, was alles für exceptions ausgelöst werden, (zum Beispiel exceptions aufgrund von speichermangel usw...) ist es auch nicht möglich entsprechen zu reagieren.
try
{ //hier exception } catch(Exception except) { //diese anweisung sollte alle exceptions abfangen... } |
Re: [C++] try-catch
Hi lkz633,
das catch(...) ist korrekt. Du scheiterst an einem anderen Effekt: Es tritt überhaupt keine Exception auf. Zumindext mein BCB6 macht aus dem 12/0 eine 12. Frag mich aber bitte nicht warum. Der Vorschlag von mumu macht natürlich nur Sinn, wenn man mit dem Borland C++Builder arbeitet und dann muss man mit einem Pointer arbeiten:
Code:
Außerdem würden so nur die "VCL-Exception" abgefangen. Das "(...)" ist der Weg wirklich alle Exceptions abzufangen.
catch(Exception *except)
|
Re: [C++] try-catch
ich arbeite mit c# .net. deshalb die syntax... sorry
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:19 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz