AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Object-Pascal / Delphi-Language Delphi [Quiz] wann darf auf ein Semikolon ein ELSE folgen?
Thema durchsuchen
Ansicht
Themen-Optionen

[Quiz] wann darf auf ein Semikolon ein ELSE folgen?

Ein Thema von mjustin · begonnen am 1. Apr 2015 · letzter Beitrag vom 2. Apr 2015
Antwort Antwort
mjustin

Registriert seit: 14. Apr 2008
3.011 Beiträge
 
Delphi 2009 Professional
 
#1

AW: [Quiz] wann darf auf ein Semikolon ein ELSE folgen?

  Alt 1. Apr 2015, 17:13
Naja ganz einfach: In der Delphi Doku sieht es so aus als würde das else zum except gehören...
Tut es auch:
Delphi-Quellcode:
begin
   try
      WriteLn( 'Hallo Welt'.ToInteger() );
   except
     // eine Folge von Exception-Behandlungsroutinen, optional mit nachfolgendem else
     on EConvertError do
       WriteLn('Ein zahlenloser Tag');
   else
     WriteLn('Das Programm ist fehlerhaft. Tauschen sie es um.');
   end;
end.
Mein Bauchgefühl sagt mir, dass das else hier eingerückt sein sollte. Wird es so wie hier auf die gleiche Ebene wie das except gesetzt, wirkt es, aus als ob nach ihm der Codezweig für den Fall "keine Exception aufgetreten" beginnt. Aber zum Glück gibt es Style Guides
Michael Justin
  Mit Zitat antworten Zitat
Popov
(Gast)

n/a Beiträge
 
#2

AW: [Quiz] wann darf auf ein Semikolon ein ELSE folgen?

  Alt 1. Apr 2015, 17:22
Natürlich wird Else bei Try-Except nur dann eingesetzt wenn auch On..Do eingesetzt wird. Trotzdem bildet es mit Try und Except die Einrückung. Es heißt ja auch nicht:
Delphi-Quellcode:
   try
      WriteLn( 'Hallo Welt'.ToInteger() );
   except
     // eine Folge von Exception-Behandlungsroutinen, optional mit nachfolgendem else
     on EConvertError do
       WriteLn('Ein zahlenloser Tag')
     else
       WriteLn('Das Programm ist fehlerhaft. Tauschen sie es um.');
   end;
In dem Fall gäbe es vor Else kein Semikolon.

On ist keine Abfrage, braucht also auch keine Alternative. Else kommt nur ins Spiel wenn kein keine der Exceptions gegriffen hat.
  Mit Zitat antworten Zitat
Antwort Antwort


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 15:57 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