From: Adam Beneschan <adam@irvine.com>
Subject: Re: Common exception handling
Date: Tue, 26 Aug 2008 07:43:20 -0700 (PDT)
Date: 2008-08-26T07:43:20-07:00 [thread overview]
Message-ID: <ba811359-e5b7-4e06-90e6-479755d9d28c@25g2000prz.googlegroups.com> (raw)
In-Reply-To: f3921f63-7e3e-409e-b346-f9a62d976f1a@x16g2000prn.googlegroups.com
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
next prev parent reply other threads:[~2008-08-26 14:43 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 [this message]
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
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