comp.lang.ada
 help / color / mirror / Atom feed
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



  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