AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

[C++] try-catch

Ein Thema von lkz633 · begonnen am 29. Jul 2004 · letzter Beitrag vom 11. Aug 2004
Antwort Antwort
lkz633

Registriert seit: 9. Jun 2002
Ort: Aachen
221 Beiträge
 
#1

[C++] try-catch

  Alt 29. Jul 2004, 13:24
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
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#2

Re: [C++] try-catch

  Alt 11. Aug 2004, 15:09
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.
  Mit Zitat antworten Zitat
Eisenherz

Registriert seit: 10. Jun 2002
Ort: Stadeln
33 Beiträge
 
Delphi 5 Professional
 
#3

Re: [C++] try-catch

  Alt 11. Aug 2004, 17:44
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.
aloa Eisenherz
  Mit Zitat antworten Zitat
mumu

Registriert seit: 28. Okt 2003
Ort: Bamberg
519 Beiträge
 
#4

Re: [C++] try-catch

  Alt 11. Aug 2004, 20:45
ich arbeite mit c# .net. deshalb die syntax... sorry
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:05 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