Einzelnen Beitrag anzeigen

Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Prozedur vorzeitig beenden

  Alt 12. Nov 2003, 17:16
Ich finde, durch die Verwendung von Exits kann der Code auch übersichtlicher werden.

Z. B. in so einem Fall:

Delphi-Quellcode:
  if call_function1 = ERROR_TYPE then
  begin
    ShowErrorMessage;
    Exit;
  end;

  if call_function2 = ERROR_TYPE then
  begin
    ShowErrorMessage;
    Exit;
  end;

  if call_function3 = ERROR_TYPE then
  begin
    ShowErrorMessage;
    Exit;
  end;
Das finde ich übersichtlicher als:
Delphi-Quellcode:
var
  bError: Boolean;
begin
  bError := False;
  
  if call_function1 = ERROR_TYPE then
  begin
    bError := True;
    ShowErrorMessage;
  end;
 
  if not bError then
    if call_function2 = ERROR_TYPE then
    begin
      bError := True;
      ShowErrorMessage;
    end;

  if not bError then
    if call_function3 = ERROR_TYPE then
    begin
      bError := True;
      ShowErrorMessage;
    end;
oder gar:
Delphi-Quellcode:
  if call_function1 <> ERROR_TYPE then
    if call_function2 <> EROOR_TYPE then
      if call_function3 <> ERROR_TYPE then
      begin
        //Code ausführen
      end
      else
        ShowErrorMessage;
    else ShowErrorMessage;
  else ShowErrorMessage;
Ich benutze lieber ein paar Exits und bleibe linear als dass ich mein Programm so weit verschachtele, dass ich horizontal scrollen muss.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat