From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00 autolearn=ham autolearn_force=no version=3.4.4 X-Google-Thread: 103376,5f260a1d9f0c280c X-Google-Attributes: gid103376,domainid0,public,usenet X-Google-Language: ENGLISH,ASCII-7-bit Path: g2news1.google.com!news1.google.com!postnews.google.com!25g2000prz.googlegroups.com!not-for-mail From: Adam Beneschan Newsgroups: comp.lang.ada Subject: Re: Common exception handling Date: Tue, 26 Aug 2008 07:43:20 -0700 (PDT) Organization: http://groups.google.com Message-ID: References: <88961e92-80a8-4e96-b231-9d67eca0adf5@v26g2000prm.googlegroups.com> <1d1a76fa-a537-4994-9578-7c7604b26ca2@w24g2000prd.googlegroups.com> NNTP-Posting-Host: 66.126.103.122 Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Trace: posting.google.com 1219761800 11763 127.0.0.1 (26 Aug 2008 14:43:20 GMT) X-Complaints-To: groups-abuse@google.com NNTP-Posting-Date: Tue, 26 Aug 2008 14:43:20 +0000 (UTC) Complaints-To: groups-abuse@google.com Injection-Info: 25g2000prz.googlegroups.com; posting-host=66.126.103.122; posting-account=duW0ogkAAABjRdnxgLGXDfna0Gc6XqmQ User-Agent: G2/1.0 X-HTTP-UserAgent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.7.12) Gecko/20050922 Fedora/1.7.12-1.3.1,gzip(gfe),gzip(gfe) Xref: g2news1.google.com comp.lang.ada:1794 Date: 2008-08-26T07:43:20-07:00 List-Id: 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