Problem mit try - catch - Anweisung

sturmwusel

Grünschnabel
Hallo,
Ich habe folgendes Problem.
Ich möchte mit dem BCB6 und der IndyPOP3- Komponente Mails abrufen. Kommt jedoch keine Verbindung zu stande löst das eine Exception aus.
Deshalb habe ich eine try - catch - Anweisung versucht:

Quellcode:

try {
Form1->IdPOP3->Connect();
{
catch (...)
{
ShowMessage("...");
}


Die Exception wird jedoch immer noch ausgelöst und es haut mich aus dem Programm.
Ist irgendetwas an meinem Code falsch, oder muss ich eine zusätzliche Bibliothek oder Header-Datei einbinden?

Hoffe auf schnelle Hilfe, Sturmwusel
 
Hab zwar nicht den BCB6 aber wenn du dein Programm mit der Try&Catch-Anweisung aus dem C++ Builder heraus startet, geht er bei mir trotzdem raus. Probier mal das Programm alleine zu starten!

Eventuell gibt die Funktion: "Form1->IdPOP3->Connect();" auch 0 oder -1 zurück, wenn sie sich nicht verbinden konnte. ;)
 
Hallo

Ausser das die 2. geschweifte Klammer falsch herum ist, sehe ich keinen prinzipellen Fehler. Ich nehme aber an das dies im Quellcode korrekt ist da sonst der Compiler meckern würde. Ich halte es hier für wahrscheinlicher, dass das POP3 (NMPOP3?) nicht korrekt initalisiert wurde und ihm eventuell Daten fehlen, so das der Connect fehlschlägt (reicht z.B wenn die Servername falsch geschrieben ist) und dadurch die Exception ausgelöst wird..
Hier wäre es interessanter den Code zu sehen mit dem du das POP3 Object mit seinen einzelnen Elementen initialisierst.

Gruß
Byteblaster
 
Hallo,
Scrapy hat Recht, es lag daran, das ich das Prog. aus dem BCB gestartet habe.
Aber auch das lässt mit Tools->Debuuger Optionen abschalten. Ich finde es jedoch recht nützlich, da es den Namen der Exception ausgibt.
@Byteblaster:
Ich verwende die Indy-Komponente vom BCB. Die muss nicht extra initialisiert werden, da sie bei der Installation gleich mit installiert wird. Das einzige, was eingestellt werden muss, ist Server-Adresse, UserId und Password. Das alles soll jedoch vom Benutzer zur Laufzeit gemacht werden. Es handelt sich um ein Programm, was vor den Outlook (oder anderen Mailer) geschaltet wird und es ermöglicht die Nachrichten direkt auf dem Server zu verwalten, Filter durchlaufen zu lassen, etc. bevor sie über den Mailer auf den Rechner geladen werden. Ähnlich wie PostDa, nur besser.

mfG Sturmwusel

PS: Die Klammer verkehrtherum hängt damit zusammen, dass in try { noch andere Sachen standen. Hab ich aber auch geändert.
 
Hallo, ich nochmal,
@Scrapy: Das mit dem 0 und 1 find ich interressant. Wie funktioniert das? (rein interressehalber)
try hat den Vorteil, dass es die Art des Fehlers angibt, sodass man dem Nutzer besser mitteilen kann, wo der Fehler liegt (z.B. bei der Serveradresse, oder beim Benutzernamen/Passwort)

Sturmwusel
 
verflixt, ich bin heut aber auch zersteut,
Ich wollte mich selbstverständlich noch für eure Hilfe bedanken.
Ich glaub ich sollte langsam meine Ferien genießen und weniger geistig anstrengende Tätigkeiten ausführen.

Sturmwusel
 
Zurück