![]() |
Delphi-Version: 6
Exception wird übersprungen??
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo, wie auf dem Bild zu erkennen ist, verrusacht ein Aufruf eine Exception, welche ich abfangen möchte. In der Meldung ist die rede von EclSocketError, also habe ich sie eingebaut. Aber dort wird trotzdem nicht reigesprungen, wenn ich die Zeile On E : EclSocketError duch On E : Exception austausche, dann funktioniert das. K.A. was ich falsch mache, ich glaub ich lass da einfach Exception stehen, aber wenn jemand weiß was an dem Code falsch ist, würde ich das gerne wissen. Danke.
Delphi-Quellcode:
try
response := GetHttpResponse(request, TSEcheckClientURL, '20200928145100'); except On E : EclSocketError do begin showmessage('Der Dienst konnte nicht erreicht werden!'); application.Terminate; end; end; |
AW: Exception wird übersprungen??
Ich würde mal mit "on e: Exception do" die Exception abfangen und e.Classname abfragen, ob es wirklich EclSocketError ist.
|
AW: Exception wird übersprungen??
Zitat:
oder auf Eigenschaften/Property davon drauf zugreifen tutst, dann gibt es eh keinen Grund was Anderes anzugeben. Außerdem ist es eh eine schlechte Idee "alle" anderen Exceptions stillschweigend zu unterdrücken und bei der eigentlichen Exception die Fehlermeldung durch einen sinnlosen und womöglich komplett falschen Fehlertext zu ersetzen. (die originale Meldung spurlos zu verwerfen)
Delphi-Quellcode:
Selbst wenn hier EclSocketError angezeigt wird, könnte es immernoch sein, dass "EclSocketError" eine gleichnamige Klasse aus einer anderen Unit ist.
on E : Exception do begin
ShowMessage('Der Dienst konnte nicht erreicht werden!'#10 + E.ClasName + ': ' + E.Message); end; das ON arbeitet wie ein IS und da muß es der "selbe" Typ sein. |
AW: Exception wird übersprungen??
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 10:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz