From: Martin <martin.dowie@btopenworld.com>
Subject: Re: Common exception handling
Date: Fri, 29 Aug 2008 01:32:18 -0700 (PDT)
Date: 2008-08-29T01:32:18-07:00 [thread overview]
Message-ID: <2c0a5d86-82cf-4538-87d4-6733eaca8784@r66g2000hsg.googlegroups.com> (raw)
In-Reply-To: ba811359-e5b7-4e06-90e6-479755d9d28c@25g2000prz.googlegroups.com
On 26 Aug, 15:43, Adam Beneschan <a...@irvine.com> wrote:
> On Aug 26, 6:47 am, shaunpatter...@gmail.com wrote:
>
> > Yeah, it looks like the extra layer of exception handling is the only
> > way. I was hoping I could avoid that if possible.
>
> No, I don't think it's the only way. I'm surprised no one has
> suggested this:
>
> exception
> when E : others =>
> Print_Test (Rec);
> declare
> use Ada.Exceptions;
> begin
> if Exception_Identity(E) = A'Identity then
> ... handling for A
> elsif Exception_Identity(E) = B'Identity then
> ... handling for B
> etc.
> else
> ... handling for other exceptions you didn't expect,
> ... but you certainly need to aware that it could
> ... happen
> raise; --maybe
> end if;
> end;
>
> -- Adam
Surely you missed a smiley off this suggestion!!! :-)
== Martin
next prev parent reply other threads:[~2008-08-29 8:32 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-08-26 12:17 Common exception handling shaunpatterson
2008-08-26 12:37 ` Ludovic Brenta
2008-08-26 12:39 ` Martin
2008-08-26 12:48 ` Ludovic Brenta
2008-08-26 12:58 ` Martin
2008-08-26 13:47 ` shaunpatterson
2008-08-26 14:43 ` Adam Beneschan
2008-08-26 15:10 ` Dmitry A. Kazakov
2008-08-26 16:49 ` Adam Beneschan
2008-08-26 19:14 ` Dmitry A. Kazakov
2008-08-26 20:22 ` Maciej Sobczak
2008-08-27 8:16 ` Dmitry A. Kazakov
2008-08-27 9:20 ` Georg Bauhaus
2008-08-29 8:32 ` Martin [this message]
2008-08-29 15:31 ` Adam Beneschan
2008-09-10 22:51 ` Martin
2008-09-11 14:57 ` Adam Beneschan
2008-08-26 15:18 ` Jean-Pierre Rosen
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox