Exeption bei Indy



  • Also ich wollte bei Indy eine Seite per HTTP runteladen (eine Zahl):
    Jetzt mach ich das so:

    try
    {
            z=Form1->IdHTTP1->Get(path+"info.txt").ToInt();
    }
    catch (...)
    {
        z=55;
    }
    

    Funktioniert aber nicht 😕 Er tut weiter 302 Exeptions anzeigen
    Was mach ich falsch?



  • "302 Exceptions"?

    Wenn du mit 302 die entsprechende HTTP-Meldung meinst dann solltest du halt mal in den zugehörigen RFCs nachlesen. Links dazu findest du in der Indy-Hilfe.



  • Ja gut meistens sagt er mir "ungültige Bilderliste" Aber man muss die Exeptions doch irgendwie abfangen können.
    Bei NmHTTP geht das doch auch hab ich hier gesehen



  • Original erstellt von <UrPc>:
    man muss die Exeptions doch irgendwie abfangen können

    Zur Exception-Behandlung gibt es zig Seiten in der BCB-Hilfe, und in der FAQ findet sich auch ein Beispiel (unter "Drucker").



  • Ich hab in der Hilfe und FAQ geschaut!
    Da steht try{} und chatch(){} catch(...) steht für alle Exeptions aber das funkt aber irgendwie nicht. Der macht einfach weiter *heul*



  • Augen auf! Zitat aus dem FAQ-Beipiel:

    Dass die Exception-Warnung auch mit try beim Testlauf im Debugger auftritt ist normal (kann bei Bedarf in den Debugger-Optionen abgestellt werden).



  • [ Dieser Beitrag wurde am 10.04.2003 um 13:00 Uhr von Andidreas editiert. ]



  • Also es liegt nicht an dem Debugger als exe kommt die exeption auch.
    Ich hab unter Tools->Debugger alles was mit exeption zu tun hatte ausgeschaltet und die Exeption kam trotzdem.
    Bei anderen Sachen wie z.B. AnsiString A="ab" A.ToInt() kommt keine Exeption mehr aber Bei Indy schon!



  • Kann ich nicht nachvollziehen, hier werden auch die Indy-Exceptions korrekt abgefangen (BCB6Ent/WinXP/Indy9.10).

    Falls du das angeben kannst: wie lautet denn die genaue URL der info.txt? Ich möchte deine "302 Exceptions" mal live sehen.



  • Mal ne ganz einfache Frage: welche Indy-Version benutzt Du und wie hast Du die installiert?

    Andidreas



  • Ich benütz die Eingebauten Indy Module (bei BCB 6.0) Und die Url zeigte erst auf yahoo group space aber 302 steht für irgend eine redirection, weil die das bei yahoo w*****einlich so machen das man nicht runterladen kann. Bei anderen kommt aber auch eine Exeption Get("XYZ") also kanns nicht daran liegen.



  • [ Dieser Beitrag wurde am 10.04.2003 um 13:02 Uhr von Andidreas editiert. ]



  • Wenn ich die Datei auf normalen Space stelle funktioniert auch alles. Blos ich will ja, dass keine Exeption entseht wenn ich etwas ungültiges runtelade und das funktioniert nicht.
    Die 302 Exeption entsteh durch die weiterleitung. Wenn ich in Indy HandleRedirects auf true setze, dann zeigt er mir die Zeite an( als Html) und sagt das das kein gültiger Integer wert ist, weil das directe downloaden von yahoo nicht möglich ist(mit Downloadmanager geht es).
    Ich wollte nur den Fall abhaken in dem die Datei info.txt nicht besteht.



  • [ Dieser Beitrag wurde am 10.04.2003 um 13:03 Uhr von Andidreas editiert. ]



  • [ Dieser Beitrag wurde am 10.04.2003 um 13:04 Uhr von Andidreas editiert. ]



  • Original erstellt von <UrPc>:
    Wenn ich die Datei auf normalen Space stelle funktioniert auch alles.

    Ja dann gib doch mal die URL zu dem "unnormalen Space", damit wir das testen können! Immer nur raten führt dazu, dass man aneinander vorbeiredet (siehe Andidreas' Beiträge ;)).



  • Wenn ich das richtig mitbekommen habe will UrPc auf irgend einem Server eine Datei auslesen und den darin enthaltenen Zahlenwert in ein Integer umwandeln, und bekommt immer eine EConvertError. Warum wird also laufend was von Server gefaselt. Es steht doch jetzt da wie er das umgehen kann.

    MfG
    Andidreas

    [ Dieser Beitrag wurde am 10.04.2003 um 13:05 Uhr von Andidreas editiert. ]



  • Den EConvertError hast du in's Spiel gebracht. 😉

    Die Exceptions, um die es hier geht, werden von der Indy-Komponente ausgelöst, nicht von der Umwandlung in Integer. Letztere erreicht der Code ja gar nicht, eben wegen der Indy-Exceptions.


Anmelden zum Antworten