![]() |
try...except - Manuell in except springen
Hi,
ich habe einen try...except Block und würde gerne bei Misslingen einer bestimmten Abfrage in den Exception-Block springen. Wie kann ich das anstellen? Sicher geht auch die Variante auch mit mehreren if-Abfragen, aber dieser Weg würde mich mal interessieren. |
Re: try...except - Manuell in except springen
Wie wäre es den das du eine Exception raised.
Delphi-Quellcode:
raise MyException.Create('BlaBla');
|
Re: try...except - Manuell in except springen
Meinst du Abort?!
|
Re: try...except - Manuell in except springen
Entweder du wirfst selbst eine Exception (z.B. EAbort), oder du verweist im Except auf eine Subroutine, die du dann aufrufst. Ich würde letzteres bevorzugen, weil es nicht so unperformant wie eine Exception ist.
|
Re: try...except - Manuell in except springen
Mhmm, also ich weiss noch nicht so recht, wie ich das anstellen soll. Hier mal mit Codeausschnitt:
Delphi-Quellcode:
try
if Form1.Label1.Caption <> 'Administrator' then // Exception werfen // Hier erfolgt die eigentliche Verarbeitung, weswegen ich zur try...except // gegriffen habe except ShowMessage('Vorgang nicht erfolgreich'); end; |
Re: try...except - Manuell in except springen
Wenn es nichts komplexeres gibt, kannst du doch auf den ganzen Try-except-Block verzichten, oder?
Delphi-Quellcode:
Wenn die Exception auftritt, führt er den "weiterern Code" logischerweise nicht aus ...
If Form1.Label1.Caption <> 'Administrator' then
raise Exception.Create('Fehler'); // Weiterer Code |
Re: try...except - Manuell in except springen
Delphi-Quellcode:
procedure ShowError;
begin ShowMessage('Vorgang nicht erfolgreich'); end; ... try if Form1.Label1.Caption <> 'Administrator' then begin ShowError; exit; //oder alternativ in einem else-Zweig weitermachen end; except ShowError; end; |
Re: try...except - Manuell in except springen
Genau so meinte ich das, Detlef.
|
Re: try...except - Manuell in except springen
Ich auch, Exceptions in einem try-Block auszulösen ist eine Lösung, die sich für mich "nicht richtig anfühlt" :mrgreen:
|
Re: try...except - Manuell in except springen
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:51 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