comp.lang.ada
 help / color / mirror / Atom feed
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



  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