Re: Ada exception block does NOT work?



Jeffrey R. Carter wrote:

Ada has had exceptions, well integrated with the rest of the language, since Ada 80. Ada's terminology is that exceptions are raised and handled.

OK, but the question is not about terminology, really.

If you claim that exceptions were "patched" on to the C++ language that did not have them originally, then let's switch the context to other language that has no history issue like this.

I don't know the full history of Java, but I suppose that it had exceptions from the very beginning. If not, let's take C#. Whether those languages tried to mimic the syntax from C++ does not matter at all when it comes to discussion how well the mechanism is integrated into the language.

Why do you claim that Ada's exceptions are "better integrated into the language than in the languages that throw and catch them"?

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.

Note that I'm learning Ada and I'm likely to misunderstand things. But I'm curious about your way of reasoning and I want to better understand the differences between languages (and that's why I'm provoking you with the above inverted claim ;) ).


-- Maciej Sobczak : http://www.msobczak.com/ Programming : http://www.msobczak.com/prog/ .



Relevant Pages

  • Re: Ada exception block does NOT work?
    ... > parent language in not checking certain core operations. ... generally exceptions ... > But as we know from SPARK, use of Ada in such environments ... >> have propagated out of the scope of their definitions. ...
    (comp.lang.ada)
  • Re: performance
    ... efficient language and still have an inefficient system. ... > Even on these super performant silicons, some kernel code and device drivers ... > exceptions. ... > relates to the efficiency/performance of the libraries ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: Please explain the meaning of stealing a ref
    ... points of connotation as well as denotation in phrasing, and language ... clearer to _other_ readers, ... No, the use of the word 'exceptions' is anything but unreasonable, ... "Owning a reference" means being ...
    (comp.lang.python)
  • Re: Ada exception block does NOT work?
    ... > Note that those other languages can throw regular objects as exceptions, ... Well Ada 83 had exceptions but not objects with dispatching so exceptions ... is far better integrated into the language then in C++. ... In Ada can clone any object without the aid of ...
    (comp.lang.ada)
  • Re: performance
    ... > for kernel mode device drivers, while it's much easier to use C++ they ... > exceptions. ... ** I don't confuse language and policies, ... template libraries and no C++ exceptions. ...
    (microsoft.public.dotnet.languages.csharp)