From: Robert A Duff <bobduff@shell01.TheWorld.com>
Subject: Re: About String
Date: Sun, 08 Jun 2008 14:32:36 -0400
Date: 2008-06-08T14:32:36-04:00 [thread overview]
Message-ID: <wccod6bu69n.fsf@shell01.TheWorld.com> (raw)
In-Reply-To: 484b802a$0$23844$4f793bc4@news.tdc.fi
Niklas Holsti <niklas.holsti@tidorum.invalid> writes:
> Chris Moore wrote:
>> I have to say this is an entirely non-intuitive "feature" of the language.
>
> I beg to differ. The program should be read as
>
> declare <some variables>
> begin <do something with those variables> end;
>
> The exception handler is within the "begin..end" block, not on the
> "declare".
Sure, that's right, but the syntax doesn't make it clear.
We have ample proof that this syntax is confusing:
More than one person in this thread has admitted to
being confused -- QED. ;-)
I think it was a mistake to attach exception handlers
to declare blocks and procedures and so forth. Instead,
there should be a single statement for handling exceptions,
as in Java and other languages. Something like:
handle
... statements ...
exception
when ... =>
...
end;
>... (Indenting the "begin..exception..end" structure one level
> beyond the "declare" would make this more visible, but is not common
> practice.)
And it violates the recommended indentation defined by the RM.
Anyway, surely "end" belongs at the same column as "declare"
or "procedure" or whatever it's ending.
> I wonder if it would be a good idea for Ada to allow an exception
> handler also in the "declare" part, as follows:
That goes in the opposite direction I suggested above.
I think it would add confusion.
- Bob
next prev parent reply other threads:[~2008-06-08 18:32 UTC|newest]
Thread overview: 38+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-06-06 17:29 About String Sébastien Morand
2008-06-07 16:18 ` Simon Wright
2008-06-07 17:01 ` Pascal Obry
2008-06-07 22:13 ` Chris Moore
2008-06-08 6:47 ` Niklas Holsti
2008-06-08 7:35 ` Dmitry A. Kazakov
2008-06-08 10:29 ` Sebastien Morand
2008-06-08 10:53 ` Dmitry A. Kazakov
2008-06-08 11:14 ` Niklas Holsti
2008-06-08 13:16 ` Dmitry A. Kazakov
2008-06-08 17:17 ` Niklas Holsti
2008-06-09 7:26 ` Dmitry A. Kazakov
2008-06-08 11:48 ` Martin
2008-06-08 13:17 ` Conditional declarations (was: About String) Dmitry A. Kazakov
2008-06-08 18:26 ` About String Chris Moore
2008-06-08 18:32 ` Robert A Duff [this message]
2008-06-08 20:51 ` Maciej Sobczak
2008-06-08 21:19 ` Robert A Duff
2008-06-09 7:14 ` Dmitry A. Kazakov
2008-06-09 9:43 ` Georg Bauhaus
2008-06-09 10:25 ` Dmitry A. Kazakov
2008-06-09 10:42 ` Sébastien Morand
2008-06-09 11:43 ` Georg Bauhaus
2008-06-09 12:03 ` Dmitry A. Kazakov
2008-06-15 19:38 ` Robert A Duff
2008-06-15 20:52 ` Dmitry A. Kazakov
2008-06-15 22:06 ` Robert A Duff
2008-06-16 8:31 ` Dmitry A. Kazakov
2008-06-16 19:17 ` Robert A Duff
2008-06-16 20:30 ` Dmitry A. Kazakov
2008-06-16 22:02 ` Georg Bauhaus
2008-06-16 23:04 ` Robert A Duff
2008-06-09 11:00 ` Georg Bauhaus
2008-06-09 14:27 ` Britt Snodgrass
2008-06-15 19:50 ` Robert A Duff
2008-06-15 19:48 ` Robert A Duff
2008-06-08 11:13 ` Simon Wright
2008-06-08 19:03 ` Sebastien Morand
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox