Moinsen,
kann es sein, das es in Konsolenanwendungen nicht möglich ist, Exeptions zu nutzen?
Ich habe einen Konstruktor in einer Testklasse, der sieht (schematisch dargestellt
) in etwa so aus:
Delphi-Quellcode:
constructor TMeineTolleKlasse.Create(Filename:
String);
begin
inherited Create;
...
if FHandle = 0
then
raise Exeption.Create('
Oh no, now the shit is steaming!');
end;
Zum testen der Klasse habe ich eine Mini-Konsolenanwendung erstellt. Innerhalb der
IDE funktioniert das ganze auch wunderbar - d.h., wenn FHandle = 0 ist, dann wird mir mein Fehlertext angezeigt. Starte ich die Exe allerdings ausserhalb der
IDE, dann fliegt mir diese Meldung (Dialog) um die Ohren:
Zitat von
Fehlermeldung:
"Die Ausnahme "Unbekannter Softwarefehler" (0xdeadbeef) ist in der Anwendung an der Stelle 0xhehehaha aufgetreten.
(Den Meldungstext der
Exception kann man aber immerhin noch im Konselenfenster lesen.)
Code:
Exception Exception in Modul Test.exe bei 0000813F.
'
Oh no, now the shit is steaming!.
Benutze ich die Klasse aus einer "normalen" Anwendung heraus, dann funktioniert das mit der Exeption auch ausserhalb der
IDE.
Nun die Frage: Mache ich was falsch, oder muss ich nur irgendwas zusätzlich beachten in der Konsolenanwendung?
Gruß
Wormid
Debuggers don't remove Bugs, they only show them in Slow-Motion.