AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Tutorials Delphi Automatisches Verlassen einer Funktion bei Result := False;
Tutorial durchsuchen
Ansicht
Themen-Optionen

Automatisches Verlassen einer Funktion bei Result := False;

Ein Tutorial von d3g · begonnen am 21. Jun 2002 · letzter Beitrag vom 23. Sep 2002
 
Benutzerbild von d3g
d3g

Registriert seit: 21. Jun 2002
602 Beiträge
 
#3
  Alt 21. Jun 2002, 16:18
Hi jbg,

du hast ganz recht, allerdings ist es manchmal sinnvoller, Result am Funktionsanfang auf True und nicht auf False zu stellen. Das umzuschreiben würde einen Code teilweise unverständlich und umständlich machen, deshalb mache ich es so.

Was das goto angeht: Schön ist es nicht, aber manchmal doch recht sinnvoll. Der try..except..end-Block ist, das musst du zugeben, auch sehr viel eleganter also goto:
Code:
function Test(h: THandle): Boolean;
begin
  try
    if (h = INVALID_HANDLE_VALUE) then
      raise EResultFalse.Create(''); // Exception auslösen
  except
    on EResultFalse do begin
      Result := False;
      Exit;
    end;
  end;
end;
statt
Code:
function Test(h: THandle): Boolean;
label
  resultfalse, toend;
begin
  Result := False;
  if (h = INVALID_HANDLE_VALUE) then
    goto resultfalse;
  // ...
  goto toend;
  resultfalse:
  Result := True;
  toend:
  // ...
end;
Aber da die Kritik an dieser Methode immer größer wird: Ich werde mich nicht daran festbeißen, ich bestehe absolut nicht darauf, ihn durchzubringen.

MfG,
d3g
-- Crucifixion?
-- Yes.
-- Good. Out of the door, line on the left, one cross each.
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 05:43 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