Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   XML (https://www.delphipraxis.net/46-xml/)
-   -   TXMLDocument kann nicht created werden (https://www.delphipraxis.net/216086-txmldocument-kann-nicht-created-werden.html)

himitsu 24. Okt 2024 14:38

AW: TXMLDocument kann nicht created werden
 
Zitat:

den Administrator informieren
Wenn jetzt noch die Exception.Message in dem Dialog oder einer Logdatei stünde, dann hatte der arme Admin einen Hinweis darauf, was nicht ging.

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:
try Speichere; except SpeichereAndersOderWoanders; end;
Wir hatten so eine Funktion erst im Client, welche in der x-ten Ebene versteckt mit einem ShowMessage den Fehler anzeigte.
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.

Ykcim 24. Okt 2024 16:34

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

AuronTLG 24. Okt 2024 16:37

AW: TXMLDocument kann nicht created werden
 
Code:
Try
//...
Except on E : Exception
  Do Begin
     ShowMessage(E.Message);
     End;
End;
Vielleicht habe ich ja was missverstanden, aber diese Konstruktion hier sollte das doch tun, oder?
Logischerweise kann man alle möglichen Dinge mit der Exception dann machen...

himitsu 24. Okt 2024 16:42

AW: TXMLDocument kann nicht created werden
 
https://docwiki.embarcadero.com/RADS...tions_(Delphi) :zwinker:


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:
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;
aber psssssst :duck:

Ykcim 24. Okt 2024 16:59

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.
Seite 2 von 2     12   

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