Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Alle Exceptions abfangen (https://www.delphipraxis.net/24106-alle-exceptions-abfangen.html)

Meflin 15. Jun 2004 15:14


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*

Phoenix 15. Jun 2004 15:21

Re: Alle Exceptiosn abfangen
 
Du kannst auf Application.OnException eine eigene (globale) Exceptionhandling-Routine setzen.

Smokey 15. Jun 2004 15:21

Re: Alle Exceptiosn abfangen
 
Ja man kann :wink:

Meflin 15. Jun 2004 15:22

Re: Alle Exceptiosn abfangen
 
merci

Meflin 15. Jun 2004 15:41

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;

Meflin 16. Jun 2004 19:15

Re: Alle Exceptions abfangen
 
^^ :| ^^

Ultimator 16. Jun 2004 19:22

Re: Alle Exceptions abfangen
 
Das geht doch mit TApplicationEvents und dann OnException, oder?

Meflin 16. Jun 2004 19:42

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...

Meflin 16. Jun 2004 19:46

Re: Alle Exceptions abfangen
 
nö, das problem besteht weiterhin!

Meflin 27. Jun 2004 12:04

Re: Alle Exceptions abfangen
 
^^ push ^^

Meflin 18. Jul 2004 11:22

Re: Alle Exceptions abfangen
 
*ganzvorsichtignachobenschieb*

Phoenix 18. Jul 2004 11:49

Re: Alle Exceptiosn abfangen
 
Zitat:

Zitat von Meflin
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?

Daran, das eine Exception ausgelöst wurde.

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 07:22 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz