Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   c++ try catch mit dem Borland Builder 6 (https://www.delphipraxis.net/60367-c-try-catch-mit-dem-borland-builder-6-a.html)

glunzl 5. Jan 2006 21:57


c++ try catch mit dem Borland Builder 6
 
Hallo!

Den ganzen Abend versuche ich nun mit dem C++ Builder eine Exception abzufangen:
Code:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
  try
    { Edit1->Text.ToDouble();}
  catch (...)
    { Edit1->Text = "Fehler"; }
Trotz ... , was AFAIK alle Exceptions abfangen soll, kommt eine Debugger Exception EConvertError beim umwandeln eines z.B. Buchstaben in einen Gleitkommawert.

Was mache ich falsch?

Gruß und Dank
glunzl

jbg 5. Jan 2006 22:36

Re: c++ try catch mit dem Borland Builder 6
 
Zitat:

Zitat von glunzl
Was mache ich falsch?

Gar nichts. Wenn du dein Programm mit dem integrierten Debugger startest wird er dir jede Exception anzeigen. Das hat aber nichts mit dem eigenen Abfangen der Exception zu tun. Dem Debugger kann man aber sagen, dass er EConvertError nicht melden soll. Wie das geht findest du hier im Forum in der Suche (zwar für Delphi aber die IDE ist die gleiche, wie auch der Debugger).

glunzl 6. Jan 2006 05:25

Re: c++ try catch mit dem Borland Builder 6
 
Moin und danke für den Tipp!
In den Debugger-Optionen musste ich die Exception EConvertError hinzufügen und das Häkchen davor setzen. Nun ist ruhe :-)

Gruß
glunzl

glunzl 7. Jan 2006 01:09

Re: c++ try catch mit dem Borland Builder 6
 
Hallo nochmal ...

Ist es evtl. möglich per "Compilerschalter" die Exceptionbehandlung ein- und wieder auszuschalten?

Gruss
glunzl

jbg 7. Jan 2006 01:17

Re: c++ try catch mit dem Borland Builder 6
 
Nicht per Compiler-Option, aber mit der "Debuggeroptionen..." Option.

glunzl 7. Jan 2006 01:23

Re: c++ try catch mit dem Borland Builder 6
 
Mhh, meinst Du jetzt die Optionen über die Menüleiste? -->Tools -->Debuggeroptionen ...

Ich meinte eine Befehlszeile im Programm. Etwa so:
Code:
$Exception-Behandlung XYZ aus
void __fastcall TForm1::Button1Click(TObject *Sender)

  try
    { Edit1->Text.ToDouble();} 
  catch (...)
    { Edit1->Text = "Fehler"; }
$Exception-Behandlung XYZ wieder an

jbg 7. Jan 2006 01:59

Re: c++ try catch mit dem Borland Builder 6
 
Das geht nicht, denn der Debugger ist ein eigenständiges "Programm" und er hat nichts mit dem Compiler zu tun.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 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 by Thomas Breitkreuz