Andrei Alexandrescu wrote:
On 06/21/2010 08:47 PM, Jonathan M Davis wrote:
On page 82 of TDPL, it's talking about try/catch/finally statements, and it says that "all controlled statement must be block statements; that is they
must be enclosed with braces." However, dmd does not seem to require that
try/catch/finally blocks have braces, which is what I would expect that
sentence to mean. C++ has that restriction for reasons that I don't
understand, but as far as I can tell, D does not - certainly dmd doesn't
appear to require it. Is the statement correct but refers to something else,
or is it in error?

- Jonathan M Davis

That's a surprise to me. Walter, is that intentional?

They do not require braces, they just require that the controlling statement not be a single ;. In the grammar, this is a ScopeStatement, which is a NonEmptyStatement or a BlockStatement.


http://www.digitalmars.com/d/2.0/statement.html#ScopeStatement

Reply via email to