![]() |
Alle Exceptions abfangen
Hi,
kann man alle exceptions abfangen (ohne jede einzelne exception bei jeder procdedure einzeln durch try except abfangen zu müssen) und in eine anderweitige ausgabe umleiten? *MFG* |
Re: Alle Exceptiosn abfangen
Du kannst auf Application.OnException eine eigene (globale) Exceptionhandling-Routine setzen.
|
Re: Alle Exceptiosn abfangen
![]() |
Re: Alle Exceptiosn abfangen
merci
|
Re: Alle Exceptiosn abfangen
also so ganz funzt des noch net! es werden zwar keine exceptions ausgegeben, aber auch die dialoge erscheinen nciht und ausserdem reagiert die procedure in der die exception ausgelöst wurde nimmer. woran könnte das nun wieder liegen? ich habe genau den code von dem link
Delphi-Quellcode:
procedure TForm1.AppException(Sender: TObject; E: Exception);
begin if Sender is TComponent then MessageDlg(Format('Es ist folgender Fehler aufgetreten:%s%s%s'+ 'Fehlertyp:%s%s%sSender:%s%s [%s]', [#10#13, E.Message, #13#10#13#10, #10#13, E.ClassName, #10#13#10#13, #13#10, TComponent(Sender).Name, Sender.ClassName]), mtError, [mbOk], 0) else MessageDlg(Format('Es ist folgender Fehler aufgetreten:%s%s%s'+ 'Fehlertyp:%s%s%sSender:%s%s', [#10#13, E.Message, #13#10#13#10, #10#13, E.ClassName, #10#13#10#13, #13#10, Sender.ClassName]), mtError, [mbOk], 0); end; |
Re: Alle Exceptions abfangen
^^ :| ^^
|
Re: Alle Exceptions abfangen
Das geht doch mit TApplicationEvents und dann OnException, oder?
|
Re: Alle Exceptions abfangen
ich nemhme an das ist im endeffekt das gleiche und wird mein problem nicht lösen, aber testen kann ichs ja mal...
|
Re: Alle Exceptions abfangen
nö, das problem besteht weiterhin!
|
Re: Alle Exceptions abfangen
^^ push ^^
|
Re: Alle Exceptions abfangen
*ganzvorsichtignachobenschieb*
|
Re: Alle Exceptiosn abfangen
Zitat:
Eine Exception unterbricht unweigerlich die Ausführung der Fehlerhaften Routine und übergibt die Kontrolle an den nächsten übergeordneten Exception-Handler. Der kann in der gleichen Routine liegen (da halt Try-Except / Try-Finally block), er kann aber auch ein gutes Stück weiter oben liegen. Wenn Du willst, das das Programm nach einer Exception an einer bestimmten Stelle weitermacht, dann musst Du die Exception zwangsläufig davor abarbeiten, das Programm wieder in einen definierten Zustand überführen und dann innerhalb des Except / Finally - Blockes die danach auszuführende Routine aufrufen. Eine andere Alternative wäre es, erst gar keine Exceptions zu werfen wenn Du nicht willst das ein Programm an der Stelle abbricht. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 18:57 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