pc-crack hat folgendes geschrieben : |
| ich nutze TIdHTTP aber beim Aufruf kommt dann immer "HTTP/1.1 500 Internal Server Error" und die Routine wird abgebrochen. |
Das hört sich danach an als würdest du den Fehler nicht richtig abfangen, wie sieht denn dein Code aus?
Normal wäre ja so etwas, wenn man trotz Fehler weitermachen will:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| uses IdHttp;
var HttpLoader: TIdHttp; PageContents: String; begin HttpLoader := TIdHttp.Create; try try PageContents := HttpLoader.Get('http://www.example.com'); except if Application.MessageBox('Fehler, trotzdem weitermachen?', ...) <> mrYes then raise; end; ShowMessage('Weitergemacht'); ... finally HttpLoader.Free; end; end; |
Der Fehler wird abgefangen und angezeigt, wenn nicht fortgesetzt werden soll aber wieder ausgelöst, damit direkt der Rest übersprungen und finally ausgeführt wird zum Aufräumen.
In Delphi wird die Exception natürlich dennoch angezeigt, wenn das nicht ausgeschaltet ist und das Programm aus Delphi mir Debugger gestartet wird. Aber beim separat gestarteten Programm sieht man nix mehr.