comp.lang.ada
 help / color / mirror / Atom feed
From: Jean-Pierre Rosen <rosen@adalog.fr>
Subject: Re: Ada exception block does NOT work?
Date: Thu, 18 Aug 2005 16:42:41 +0200
Date: 2005-08-18T16:42:41+02:00	[thread overview]
Message-ID: <0p62ed.h3o.ln@hunter.axlog.fr> (raw)
In-Reply-To: <de20i9$319$1@sunnews.cern.ch>

Maciej Sobczak a �crit :
> Jean-Pierre Rosen wrote:
> 
>> There are no predefined exceptions in C++
> 
> 
> There are.
Certainly depends on which version of C++. I am happy to learn that they 
eventually made it, but still the language hasn't been designed with 
exceptions in mind.

>> therefore things like arithmetic overflow have undefined semantics
> 
> 
> The "therefore" part above is not correct. Since there *are* predefined 
> exceptions in C++, dealing with arithmetic anomalies certainly was based 
> on other, unrelated policies.
At the time where this policy was decided, there was no exceptions at 
all. I guess that changing this to raising exceptions would have been 
too incompatible.

>> Every sequence of statements can have an exception handler in Ada, 
>> while in C++/Java/C# you must add an extra level of nesting.
> 
> 
> You add the nesting if you want to handle the exception. If you don't 
> want to handle it, you don't add the nesting. This is rather the result 
> of having a *pair* of parentheses to denote a block, with no sensible 
> way of extending this punctuation. In Ada, "begin" and "end" are not a 
> closed pair and are easier to extend with any other keyword, thus making 
> a "comb" of arbitrary length. But this is a syntax issue.
> 
> I treat Ada's "begin" as having implicit "try" if there is any handler 
> downstream. Is there anything inherently wrong in this?
Well, in C++ you pretty well need to know precisely what code will raise 
which exception. That's what the syntax says; "try" means: I know that 
the following code may fail (and conversely, without a "try", I assume 
it may not fail). Ada is more oriented towards "expecting the 
unexpected". That's what I meant with the sentence below:

>> This gives the feeling that dealing with exceptions is something you 
>> just put in very special places, while in Ada you are more inclined to 
>> considering exceptions everywhere.
> 
> 
> But then we will drift to discuss whether it makes sense to deal with 
> exceptions everywhere or maybe only where the actual handler has 
> something to do. I haven't seen enough real Ada code to have any opinion 
> what is good in the Ada context.
> Don't you do this:
> 
> begin
>     -- ...
>     Some_Procedure_That_Might_Raise;
>     -- ...
> end;
> 
> and just let the exception (if any) travel up the chain to where there 
> is enough context to actually *do* somethng with the exception?
Of course.

-- 
---------------------------------------------------------
            J-P. Rosen (rosen@adalog.fr)
Visit Adalog's web site at http://www.adalog.fr



  reply	other threads:[~2005-08-18 14:42 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 [this message]
2005-08-18 18:03                 ` Martin Krischik
2005-08-18 13:15               ` Alex R. Mosteo
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