![]() |
try..except Gemeinsame Anweisung definieren
Hallo!
Ich will in einem try..Except Block gerne verschiedene Exceptions getrennt behandeln und außerdem einige Aktionen ausführen, die bei allen Exceptions notwendig sind. Kann man die gemeinsamen Aktionen in den Except-Block einfügen ohne diese für jede Exception angeben zu müssen?
Delphi-Quellcode:
Besten Dank
try
irgendwas(); except TuWasAllgemeines(); // <-- Fehler, wird "on Exception do" verwendet ist dies ungültig. on EEinFehler do ...; on ENochEinFehler do ...; Ares |
Re: try..except Gemeinsame Anweisung definieren
Das aktuelle Exception-Objekt ist in der Unit System in der Variable ExceptObject gespeichert ... also etwa so:
Delphi-Quellcode:
try
irgendwas(); except TuWasAllgemeines(); if ExceptObject is EEinFehler then begin ... end else if ExceptObject is ENochEinFehler then begin ... end; end; |
Re: try..except Gemeinsame Anweisung definieren
ExceptObject ist nicht reentrant und nicht thread-safe, weshalb es sich innerhalb der If Abfragen verändern kann. Darauf hatte jbg schon einmal hingewiesen, als ich auch mit ExceptObject gearbeitet hatte. Eine bessere Lösung wäre folgende:
Delphi-Quellcode:
try
irgendwas(); except on e: exception do begin TuWasAllgemeines(); // <-- Fehler, wird "on Exception do" verwendet ist dies ungültig. if e is EEinFehler then begin ...; end else if e is ENochEinFehler then begin ...; end; end; end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 09:14 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