Autor Beitrag
Xenomorph150
Hält's aus hier
Beiträge: 9

Win 2000
Delphi 7, VB 6.0
BeitragVerfasst: Do 23.02.06 12:01 
Hi Leute,
ich wollte, da ich inzwischen bei meinem Chat schon einige Fortschritte gemacht habe,
schon mal exceptions Abfangen, für alle Fälle nur (z.b. User versucht zu Connecten, kriegt aber kein Connect).
Leider stellt sich das als schwieriger heraus, als es scheint.

Ich versuchte schon einen

try
was gemacht werden soll;
except
was passieren soll im fehlerfall;

Block zu machen,
dennoch wirft der munter weiter exceptions!

Irgendeine Idee? ^^
Und es wurde gesagt man könnte irgendwie auch die Exceptionnummer auslesen und somit unterschiedliche Fehler, passend zum Code ausgeben.... Weiß wer wie?

Mfg
Nico
covel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starontopic star
Beiträge: 131

Win XP PRo
Borland D7/C#
BeitragVerfasst: Do 23.02.06 13:17 
wenn du die EXE ausführst, sollte es keine Fehlermeldung mehr geben.
Xenomorph150 Threadstarter
Hält's aus hier
Beiträge: 9

Win 2000
Delphi 7, VB 6.0
BeitragVerfasst: Do 23.02.06 13:24 
O.o
Ok, das ist witzig,
hab ich inzwischen rausgefunden:
Wenn ich die exe direkt starte, führt der das Except korrekt aus!
Aber..
Hm...
Ok ^^'
Bleibt noch die Frage, wie man entsprechende Exceptions für entsprechende Exceptionummern wirft!

Mfg
Nico
Grendel
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 443

Gentoo Linux, MacOS X, Win 2000
D5 Ent, D7 Ent, Lazarus, Anjuta, MonoDevelop
BeitragVerfasst: Do 23.02.06 14:36 
user profile iconXenomorph150 hat folgendes geschrieben:
Ok, das ist witzig,
hab ich inzwischen rausgefunden:
Wenn ich die exe direkt starte, führt der das Except korrekt aus!

Das ist nicht witzig sondern normal. Im Debugmodus werden Exceptions immer angezeigt es sei denn Du unterdrückst bestimmte Exception-Typen explizit. Das kannst Du über Tools -> Debugger-Optionen -> Sprach-Exceptions realisieren.


user profile iconXenomorph150 hat folgendes geschrieben:
Bleibt noch die Frage, wie man entsprechende Exceptions für entsprechende Exceptionummern wirft!

Welche Exceptionnummern? Die Indys werfen doch genau definierte Exceptions. So z.B. EIdReadTimeout, EIdConnClosedGracefully, etc.. daraus geht die Art des Fehlers doch hervor.
Die genaue Meldung kannst Du folgendermaßen ausgeben:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
try
  ...
except
  on E: Exception do
  begin
    ShowMessage(E.Message);
  end;
end;


Oder meinst Du noch etwa anderes?

Bis neulich ...
Xenomorph150 Threadstarter
Hält's aus hier
Beiträge: 9

Win 2000
Delphi 7, VB 6.0
BeitragVerfasst: Do 23.02.06 15:18 
Jap, ich denke das ist genau was ich suche,
Vielen Dank!

Mfg
Nico