Newsgroups: comp.lang.c++,comp.lang.smalltalk,comp.lang.eiffel,comp.lang.ada,comp.object,comp.software-eng
Path: cantaloupe.srv.cs.cmu.edu!rochester!cornellcs!newsstand.cit.cornell.edu!portc01.blue.aol.com!newsxfer3.itd.umich.edu!su-news-hub1.bbnplanet.com!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!cam-news-hub1.bbnplanet.com!howland.erols.net!ais.net!news.texas.net!uunet!in2.uu.net!uucp5.uu.net!world!bobduff
From: bobduff@world.std.com (Robert A Duff)
Subject: Re: Exceptions as objects (was Re: What is wrong with OO ?)
Message-ID: <E4qtDn.35n@world.std.com>
Organization: The World Public Access UNIX, Brookline, MA
References: <5acjtn$5uj@news3.digex.net> <32e9e445.163056932@library.airnews.net> <E4L0nu.DDs@world.std.com> <yf3wwsxqw1z.fsf@sabi.demon.co.uk>
Date: Wed, 29 Jan 1997 00:00:58 GMT
Lines: 20
Xref: glinda.oz.cs.cmu.edu comp.lang.c++:243916 comp.lang.smalltalk:50267 comp.lang.eiffel:17884 comp.lang.ada:56724 comp.object:60485 comp.software-eng:53118

In article <yf3wwsxqw1z.fsf@sabi.demon.co.uk>,
Piercarlo Grandi <piercarl@sabi.demon.co.uk> wrote:
>Actually, it's not *my* scheme, it has been known for thirty years or

Yes, I realize you didn't invent it.  ;-)

>...Dynamically scoped identifiers are usuful for a number of
>cases where actions must depend on the program context; dynamically
>scoped variables, not just procedures, are very useful too. Non local
>control transfers are also very useful in their own right.

OK, I'll buy that much.

But how do you write an ``exception handler'' that catches a whole class
of related exceptions.  (E.g. division by zero might raise
"Divide_Error", and the caller can choose to handle "Divide_Error" or
"Arithmetic_Error" (which includes Divide_Error), or "Any_Exception", or
whatever.)

- Bob
