![]() |
AW: TXMLDocument kann nicht created werden
Zitat:
MessageBoxen zur Fehlerbehandlung haben den Nachteil, dass man außenrum nichts mehr machen kann. Direkt mit Exceptions zu arbeiten hatt den Voreil, dass man beim Aufrufer reagieren kann. * Zusatzinfos im Fehlertext * oder eben nochmal Alternatives versuchen
Delphi-Quellcode:
Wir hatten so eine Funktion erst im Client, welche in der x-ten Ebene versteckt mit einem ShowMessage den Fehler anzeigte.
try Speichere; except SpeichereAndersOderWoanders; end;
Als diese Funktion dann in einem Dienst benutzt wurde, welcher keinen Zugriff auf einen Monitor hatte ... da blieb das Programm dann wunderschön hängen, ohne dass es tagelang jemand bemerkte ... und selbst danach, wusste erstmal niemand, warum es hängt. |
AW: TXMLDocument kann nicht created werden
Hallo himitsu,
dazu habe ich eine Frage - etwas out of topic. Es handelt sich hierbei um eine Client-Server-App und ich sende Messages an den Client zwecks Logging. Aber wie kann ich einen Fehler melden und auch Exception-Daten verwenden, wenn try/except verwende. Wie komme ich im except-Teil an die Exception, damit ich die Meldung verarbeiten kann? In der Vergangenheit habe ich meistens mit einem GlobalExceptionHandler gearbeitet... Vielen Dank Patrick |
AW: TXMLDocument kann nicht created werden
Code:
Vielleicht habe ich ja was missverstanden, aber diese Konstruktion hier sollte das doch tun, oder?
Try
//... Except on E : Exception Do Begin ShowMessage(E.Message); End; End; Logischerweise kann man alle möglichen Dinge mit der Exception dann machen... |
AW: TXMLDocument kann nicht created werden
![]()
Delphi-Quellcode:
except
on E: Exception do begin MachWas(E.ClassName + ' ' + E.Message); end; end;
Delphi-Quellcode:
except
on E: Exception do if E is EFileError then MachWasAnderes(E.ClassName + ' ' + E.Message) else MachWas(E.ClassName + ' ' + E.Message); end;
Delphi-Quellcode:
except
on ESpecialError do Sonstwas; // ja, Die Variable muß man nicht angeben, wenn man sie nicht braucht und sie muß nicht zwangsweise E heißen, aber 99,998% nennen sie so on E: EFileError do MachWasAnderes(E.ClassName + ' ' + E.Message); on E: Exception do MachWas(E.ClassName + ' ' + E.Message); end;
Delphi-Quellcode:
aber psssssst :duck:
except
MachWas(Exception(ExceptObject).Message); end; finally if ExceptObject <> nil then MachWas(Exception(ExceptObject).Message); // egal wo ... sobald ExceptObject nicht nil, ist man gerade irgendwo in einer Fehlerbehandlung end; |
AW: TXMLDocument kann nicht created werden
Vielen Dank!
Das werde ich versuchen in meine Apps einzubauen! LG Patrick |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:56 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