Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   [C++] try-catch (https://www.delphipraxis.net/26786-%5Bc-%5D-try-catch.html)

lkz633 29. Jul 2004 12:24


[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:
int main () { 
  int zahl;
  try { 
   zahl = 12/0;
    } 
  catch (...)
     { 
    cout << "Fehler aufgetreten: ";
     } 
}
Jedoch wird der Fehler nicht abgefangen vom catch Block, auch nicht mit catch() oder mit catch(exception)

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

mumu 11. Aug 2004 14:09

Re: [C++] try-catch
 
Code:
try
{
//hier exception
}
catch(Exception except)
{
//diese anweisung sollte alle exceptions abfangen...
}
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.

Eisenherz 11. Aug 2004 16:44

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:
catch(Exception *except)
Außerdem würden so nur die "VCL-Exception" abgefangen. Das "(...)" ist der Weg wirklich alle Exceptions abzufangen.

mumu 11. Aug 2004 19:45

Re: [C++] try-catch
 
ich arbeite mit c# .net. deshalb die syntax... sorry


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz