From: tmoran@acm.org
Subject: Re: Error-names.
Date: Sat, 28 Feb 2004 19:47:50 GMT
Date: 2004-02-28T19:47:50+00:00 [thread overview]
Message-ID: <Gf60c.444$PR3.18471@attbi_s03> (raw)
In-Reply-To: sd37h1-5n4.ln1@martinkl.dialup.fu-berlin.de
>Well, if I understand it right, I still have to distinguish between
>the different exceptions before I call Error_Code_Of, is this right?
No.
> > when E : others => return Error_Code_Of (E);
works fine.
subtype Exception_Codes is Interfaces.C.Int range -10 .. 1;
Coded_Exception_List : constant array(Exception_Codes)
:= (Constraint_Error'Identity,
Program_Error'Identity,
Storage_Error'Identity,
Tasking_Error'Identity,
Ada.IO_Exceptions.Status_Error'Identity,
Ada.IO_Exceptions.Mode_Error'Identity,
Ada.IO_Exceptions.Name_Error'Identity,
...
function Error_Code_Of(E : Ada.Exceptions.Exception_Occurrence)
return Exception_Codes is
use Ada.Exceptions;
begin
for i in Coded_Exception_List'range loop
if Exception_Identity(E) = Coded_Exception_List(i) then
return i;
end if;
end loop;
raise; -- we have no code for this exception! re-raise it
end Error_Code_Of;
then
function Set_Parameter_A... return Interfaces.C.Int is
begin
...
return ... -- return legitimate, non-exception, result
exception
when E : others => return Error_Code_Of(E); -- return exception code
end Set...
next prev parent reply other threads:[~2004-02-28 19:47 UTC|newest]
Thread overview: 25+ messages / expand[flat|nested] mbox.gz Atom feed top
2004-02-28 12:58 Error-names Martin Klaiber
2004-02-28 13:35 ` Error-names Martin Dowie
2004-02-28 15:26 ` Error-names Martin Klaiber
2004-02-28 17:19 ` Error-names Marius Amado Alves
2004-02-28 18:31 ` Error-names Martin Klaiber
2004-02-28 19:47 ` tmoran [this message]
2004-02-28 20:29 ` Error-names Martin Klaiber
2004-02-29 19:03 ` Error-names Jeffrey Carter
2004-02-29 20:04 ` Error-names tmoran
2004-02-29 23:24 ` Error-names Björn Persson
2004-03-01 11:29 ` Error-names Martin Klaiber
2004-03-01 12:48 ` Error-names Marius Amado Alves
2004-03-02 2:15 ` Error-names Jeffrey Carter
2004-02-29 20:33 ` Error-names Martin Klaiber
2004-02-29 23:43 ` Error-names tmoran
2004-03-01 11:20 ` Error-names Martin Klaiber
2004-03-07 15:10 ` Error-names Björn Persson
2004-03-08 5:42 ` Error-names Dave Thompson
2004-02-28 20:26 ` Error-names Jacob Sparre Andersen
2004-02-28 18:29 ` Error-names Alexandre E. Kopilovitch
2004-02-29 5:30 ` Error-names David Marceau
2004-02-29 12:17 ` Error-names Martin Klaiber
2004-02-29 19:56 ` Error-names David Marceau
2004-02-29 21:57 ` Error-names Martin Klaiber
2004-03-01 23:20 ` Error-names Randy Brukardt
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox