From: Martin <martin.dowie@btopenworld.com>
Subject: Re: About String
Date: Sun, 8 Jun 2008 04:48:56 -0700 (PDT)
Date: 2008-06-08T04:48:56-07:00 [thread overview]
Message-ID: <4379495d-186e-418b-91b8-92b4da991807@e53g2000hsa.googlegroups.com> (raw)
In-Reply-To: x26ph24q0srg.yccve8hoi66z$.dlg@40tude.net
On 8 Jun, 08:35, "Dmitry A. Kazakov" <mail...@dmitry-kazakov.de>
wrote:
> On Sun, 08 Jun 2008 09:47:30 +0300, Niklas Holsti wrote:
> > The solution is just to add one more "begin..end" block, enclosing
> > the "declare .. begin .. end", and handle the exceptions in this
> > outer "begin..end" block. Or handle the exceptions in the
> > subprogram's "begin..end" block and nest the "declare..begin..end"
> > within the subprograms "begin..end".
>
> > That said, I admit that I, too, have made this mistake once or
> > twice. But not lately.
>
> If exceptions were contracted such, quite nasty, errors could be detected
> at compile time.
>
> > I wonder if it would be a good idea for Ada to allow an exception
> > handler also in the "declare" part, as follows:
>
> > -- NOT Ada!
> > declare <some variables>
> > exception <handle exceptions raised in the declarations>
> > begin <some statements>
> > exception <handle exceptions raised in the statements>
> > end;
>
> > Of course, in this proposal the declaration-exception handler would
> > not have access to the declared variables.
>
> But then, for regularity sake, you would need to add exception handling to
> all declarative parts:
>
> package A is
> <some declarations>
> exception
> <handling elaboration problems of A, HOW?> (:-))
> end A;
Admittedly the range of options is pretty limited if exception
handlers where to be added to package specs but you could log an
indication in a package local variable, set a default or re-raise the
exception.
I rather like the idea...that forced nesting just to catch an
exception is quite ugly and dare I day, goes against Ada's "easy to
read and therefore maintain" mantra...
Cheers
-- Martin
next prev parent reply other threads:[~2008-06-08 11:48 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 [this message]
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
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