Re: Evaluating Exceptions, Try Except and Try Finally
From: Skybuck Flying (nospam_at_hotmail.com)
Date: 04/08/04
- Next message: Skybuck Flying: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Previous message: Skybuck Flying: "Re: Evaluating Exceptions, Try Except and Try Finally"
- In reply to: Skybuck Flying: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Next in thread: Bruce Roberts: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Reply: Bruce Roberts: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Date: Thu, 8 Apr 2004 19:35:30 +0200
> If Statements There are two forms of if statement: if...then and the
> if...then...else. The syntax of an if...then statement is if expression
then
> statement where expression returns a Boolean value. If expression is True,
> then statement is executed; otherwise it is not. For example,
> if J <> 0 then Result := I / J;The syntax of an if...then...else statement
> is if expression then statement1 else statement2 where expression returns
a
> Boolean value. If expression is True, then statement1 is executed;
otherwise
> statement2 is executed. For example,
> if J = 0 then
> Exit
> else
> Result := I / J;The then and else clauses contain one statement each,
but
> it can be a structured statement. For example,
> if J <> o then
> begin
> Result := I / J;
> Count := Count + 1;
> end
> else if Count = Last then
> Done := True
> else
> Exit;
> Notice that there is never a semicolon between the then clause
> and the word else. You can place a semicolon after an entire if statement
to
> separate it from the next statement in its block, but the then and else
> clauses require nothing more than a space or carriage return between them.
> Placing a semicolon immediately before else (in an if statement) is a
common
> programming error. A special difficulty arises in connection with nested
if
> statements. The problem arises because some if statements have else
clauses
> while others do not, but the syntax for the two kinds of statement is
> otherwise the same. In a series of nested conditionals where there are
fewer
> else clauses than if statements, it may not seem clear which else clauses
> are bound to which ifs. Consider a statement of the form if expression1
then
> if expression2 then statement1 else statement2; There would appear to be
two
> ways to parse this: if expression1 then [ if expression2 then statement1
> else statement2 ]; if expression1 then [ if expression2 then statement1 ]
> else statement2; The compiler always parses in the first way. That is, in
> real code, the statement
> if ... { expression1} then
> if ... {expression2} then
> ... {statement1}
> else
> ... {statement2}is equivalent to
> if ... {expression1} then
> begin
> if ... {expression2} then
> ... {statement1}
> else
> ... {statement2}
> end;The rule is that nested conditionals are parsed starting from the
> innermost conditional, with each else bound to the nearest available if on
> its left. To force the compiler to read our example in the second way, you
> would have to write it explicitly as
> if ... {expression1} then
> begin
> if ... {expression2} then
> ... {statement1}
> end
> end
> else
That's why I always code if then else statement like this:
if blablablalba then
begin
if blabla then
begin
end else
begin
end;
end else
begin
end;
Just use:
begin
end;
Everywhere !!!!
Lol...
Is that so damn hard ?!
If I had to change delphi I would make it impossible to do it any
differently.
That solves a whole range of stupid nasty mistakes a beginner could make :D
Skybuck.
- Next message: Skybuck Flying: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Previous message: Skybuck Flying: "Re: Evaluating Exceptions, Try Except and Try Finally"
- In reply to: Skybuck Flying: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Next in thread: Bruce Roberts: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Reply: Bruce Roberts: "Re: Evaluating Exceptions, Try Except and Try Finally"
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
Relevant Pages
|