comp.lang.ada
 help / color / mirror / Atom feed
From: "Alex R. Mosteo" <devnull@mailinator.com>
Subject: Re: Ada exception block does NOT work?
Date: Thu, 18 Aug 2005 15:15:14 +0200
Date: 2005-08-18T15:15:14+02:00	[thread overview]
Message-ID: <430489E2.2070601@mailinator.com> (raw)
In-Reply-To: <54s1ed.kjh.ln@hunter.axlog.fr>

Jean-Pierre Rosen wrote:
> Maciej Sobczak a �crit :

>> Note that those other languages can throw regular objects as 
>> exceptions, thus enabling polymorphism when they are handled. One 
>> could say that *this* is the point of good integration and that Ada's 
>> exceptions are a conceptual patch that did not integrate with the rest 
>> of the object model, leading to two separate spaces of language 
>> entities instead of only one.
> 
> This boils down to the (controversial) question of how much information 
> should be associated to an exception. It could be the programmer's 
> responsibility to store the context when an exception is raised, rather 
> than propagating it with the exception. In Ada83, an exception had just 
> an identity, and Jean Ichbiah (the father of Ada) claimed that he 
> regretted having more than one exception. In Ada95, a string can be 
> associated to an exception. In C++, any object can be thrown, while in 
> Java only an object belonging to the throwable class. Note also that 
> augmenting the quantity of information associated to an exception has a 
> performance cost, which may be important for a real-time oriented 
> language like Ada. So, you see the question is quite open...

I think the crux in this last point: you don't want that, once an 
exception is being raised, you fail to propagate it because it can't be 
allocated due to exhausted memory, for example. I suppose this can 
happen in any language which allows propagation of arbitrary objects, 
though I don't have experience in this scenary and its side effects. In 
Ada, one can argue that being the exception a special feature with known 
and limited form, can't have this kind of failure (which is important 
since exceptions are raised mostly when error conditions arise). I see 
in the RM that there's a permission for an implementation to truncate 
the message associated with any exception, could be this the reason?

I suppose this can be mitigated if some "raw" exception is always 
propagable when everything else fails. In that case, failing to allocate 
the proper exception could raise this "raw" other, and we would be in 
equal terms (almost) with Ada. Well, I'm speculating but would be 
definitely interested in hearing more from someone more informed.

-- 
Take the Snape polls: http://snape.mosteo.com [Updated 16/05]



  parent reply	other threads:[~2005-08-18 13:15 UTC|newest]

Thread overview: 78+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2005-08-16  8:48 Ada exception block does NOT work? bubble
2005-08-16  9:00 ` Georg Bauhaus
2005-08-16  9:32   ` bubble
2005-08-16  9:42     ` gautier_niouzes
2005-08-16 15:25       ` Frank J. Lhota
2005-08-16 16:58         ` Svesse
2005-08-16 17:48           ` Björn Persson
2005-08-16 18:12             ` Svesse
2005-08-16 18:17           ` Frank J. Lhota
2005-08-17 10:53         ` Ludovic Brenta
2005-08-17 11:34           ` Anders Wirzenius
2005-08-17 18:08             ` Björn Persson
2005-08-17 19:05               ` Randy Brukardt
2005-08-18 15:58               ` Georg Bauhaus
2005-08-16 12:30     ` Georg Bauhaus
2005-08-16 17:39       ` Björn Persson
2005-08-16 19:43         ` Georg Bauhaus
2005-08-17  1:39     ` Jeffrey R. Carter
2005-08-17  7:22       ` Maciej Sobczak
2005-08-18  1:05         ` Jeffrey R. Carter
2005-08-18  8:44           ` Maciej Sobczak
2005-08-18 11:40             ` Jean-Pierre Rosen
2005-08-18 12:56               ` Maciej Sobczak
2005-08-18 14:42                 ` Jean-Pierre Rosen
2005-08-18 18:03                 ` Martin Krischik
2005-08-18 13:15               ` Alex R. Mosteo [this message]
2005-08-18 15:23                 ` Dmitry A. Kazakov
2005-08-18 18:00                 ` Martin Krischik
2005-08-18 16:13             ` Jeffrey Carter
2005-08-18 16:38               ` Hyman Rosen
2005-08-18 18:07                 ` jimmaureenrogers
2005-08-18 18:44                   ` Hyman Rosen
2005-08-18 20:52                     ` Frank J. Lhota
2005-08-19  0:57                     ` jimmaureenrogers
2005-08-19  7:52                       ` Dmitry A. Kazakov
2005-08-19 14:41                       ` Robert A Duff
2005-08-19 17:48                   ` Martin Krischik
2005-08-19 14:58                 ` Robert A Duff
2005-08-18 17:54             ` Martin Krischik
2005-08-18 20:56             ` Robert A Duff
2005-08-18 22:01               ` Hyman Rosen
2005-08-19  2:35               ` Jeffrey R. Carter
2005-08-20 15:28                 ` Robert A Duff
2005-08-20 20:24                   ` Jeffrey R. Carter
2005-08-20 21:34                     ` Robert A Duff
2005-08-20 22:47                       ` Frank J. Lhota
2005-08-20 23:34                         ` Robert A Duff
2005-08-21 11:18                           ` Simon Wright
2005-08-21 16:59                             ` tmoran
2005-08-21 19:48                               ` Simon Wright
2005-08-21 16:07                           ` Frank J. Lhota
2005-08-21 16:23                           ` Martin Krischik
2005-08-21  1:12                       ` Björn Persson
2005-08-21  9:01                       ` Dmitry A. Kazakov
2005-08-21 16:14                       ` Martin Krischik
2005-08-21  4:02                     ` Larry Kilgallen
2005-08-19 12:34               ` Dr. Adrian Wrigley
2005-08-19 17:29                 ` Martin Krischik
2005-08-19 18:14                   ` Frank J. Lhota
2005-08-21 16:02                     ` Martin Krischik
2005-08-21 16:48                       ` Frank J. Lhota
2005-08-22 15:51                         ` Martin Krischik
2005-08-23  0:32                       ` Larry Elmore
     [not found]                         ` <h5dlg1tsie8n3ikirvbi508t9afobhctkj@4ax.com>
2005-08-23 18:09                           ` Martin Krischik
2005-08-23 19:50                             ` C history Björn Persson
2005-08-27 21:09                             ` Ada exception block does NOT work? Dave Thompson
2005-08-24  1:07                           ` Larry Elmore
2005-08-24  2:36                             ` Jeffrey R. Carter
2005-08-25  0:14                               ` Larry Elmore
2005-08-26  2:44                                 ` Jeffrey R. Carter
2005-08-24 16:44                             ` Martin Krischik
2005-08-22  8:12                     ` Hyman Rosen
2005-08-18 21:15             ` Robert A Duff
2005-08-19 12:00               ` Dmitry A. Kazakov
2005-08-17 20:24 ` Simon Wright
2005-08-18 19:36   ` Björn Persson
2005-08-18 21:07     ` Simon Wright
2005-08-22 10:47 ` bubble
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox