From: kilgallen@eisner.decus.org (Larry Kilgallen, LJK Software)
Subject: Re: Why no exception hierarchy ?
Date: 25 Mar 95 11:03:03 -0500
Date: 1995-03-25T11:03:03-05:00 [thread overview]
Message-ID: <1995Mar25.110303.9481@eisner> (raw)
In-Reply-To: D5z3sF.1ou@nntpa.cb.att.com
In article <D5z3sF.1ou@nntpa.cb.att.com>, ka@socrates.hr.att.com (Kenneth Almquist) writes:
> An example of something that the Ada 83 exception mechanism did not handle
> well is binding UNIX system calls to Ada. POSIX.5 maps all system call
> errors into a single exception named POSIX_Error, and provides a per-task
> error code variable. This is dangerous.
Dangerous? Sure. Smells of "errno" !!!
> As far as I can tell, Ada 95 provides two ways to resolve this problem,
> neither of which I entirely like. One is to encode the error code in the
> exception message. Then we could have:
>
> function get_error_code(x: exception_occurence) return error_code;
>
> which would translate the exception_message into an error code. This
> seems to be an abuse of the intended purpose of the exception_message,
> which is to provide human-readable information on the exception. In
> The other approach is to map each error code to a separate exception
> and use query functions on exception identities to implement classes.
> In this case, one would write:
>
> exception
> when occurence : others =>
> if is_system_call_error(exception_identity(occurence)) then
> Have I missed overlooked any possibilities?
On VMS, DEC Ada (83) provides the pragma IMPORT_EXCEPTION, allowing you
to assign an arbitrary Ada name to your choice of an OS-generated (or
layered-product-generated) OS-style exception.
Perhaps DEC Ada does the same thing on Unix -- I don't know.
I do not know enough about Ada 95 to understand why this would not work,
but I would be interested in comments from those who do know about Ada 95.
Larry Kilgallen
next prev parent reply other threads:[~1995-03-25 16:03 UTC|newest]
Thread overview: 47+ messages / expand[flat|nested] mbox.gz Atom feed top
1995-03-23 23:10 Why no exception hierarchy ? Mogens Jensen
1995-03-24 11:19 ` Michel Gauthier
1995-03-24 21:52 ` Tucker Taft
1995-03-25 1:50 ` Kenneth Almquist
1995-03-25 12:40 ` David Weller
1995-03-27 5:47 ` Kenneth Almquist
1995-03-25 16:03 ` Larry Kilgallen, LJK Software [this message]
1995-03-27 19:23 ` Kenneth Almquist
1995-03-28 16:56 ` Larry Kilgallen, LJK Software
1995-03-29 0:00 ` Kevin F. Quinn
1995-03-30 0:00 ` Kevin F. Quinn
1995-03-31 0:00 ` Kenneth Almquist
1995-04-04 0:00 ` Robert Dewar
1995-04-05 0:00 ` Jean D. Ichbiah
1995-04-05 0:00 ` Robert A Duff
1995-04-05 0:00 ` Jean D. Ichbiah
1995-04-07 0:00 ` Robert Dewar
1995-04-05 0:00 ` Garlington KE
1995-04-06 0:00 ` Versions of Ada (was Why no exception hierarchy ?) Larry Kilgallen
1995-04-07 0:00 ` Garlington KE
1995-04-07 0:00 ` Robert Dewar
1995-04-06 0:00 ` Why no exception hierarchy ? Robert Dewar
1995-04-07 0:00 ` Norman H. Cohen
1995-04-07 0:00 ` Garlington KE
1995-04-07 0:00 ` Jean D. Ichbiah
1995-04-07 0:00 ` Robert Dewar
1995-04-06 0:00 ` Robert Dewar
1995-04-07 0:00 ` Jean D. Ichbiah
1995-04-06 0:00 ` Robert Dewar
1995-04-07 0:00 ` Jean D. Ichbiah
1995-04-07 0:00 ` Robert Dewar
1995-04-05 0:00 ` Michael Feldman
[not found] ` <1995Apr4.210804.9579@eisner.decus.org>
1995-04-05 0:00 ` Ada means what version by default ? Kevin F. Quinn
1995-04-07 0:00 ` Robert Dewar
1995-04-05 0:00 ` Michael Feldman
1995-04-06 0:00 ` Larry Kilgallen
1995-04-07 0:00 ` Robert Dewar
1995-04-07 0:00 ` Jean D. Ichbiah
1995-04-05 0:00 ` Is "Ada" 95 or 83? (was: Re: Why no exception hierarchy ?) Theodore Dennison
1995-04-07 0:00 ` Robert Dewar
1995-04-07 0:00 ` Ada means what version by default ? Robert I. Eachus
1995-03-25 18:13 ` Why no exception hierarchy ? Robert Dewar
1995-03-28 18:15 ` Jean D. Ichbiah
1995-03-31 0:00 ` Mats Weber
1995-04-04 0:00 ` Robert Dewar
1995-04-06 0:00 ` Mats Weber
1995-04-07 0:00 ` Kenneth Almquist
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox