🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.lang.oberon
Article #720

Re: Oberon/F: Intermittent TRAP windows.

#720
From: Douglas G. Danforth
Date: Thu, 21 Dec 1995 00:52
51 lines
2772 bytes
grieblm@trt.allied.com (Mike Griebling) writes:

>> In article <4ahjg9$g80@sifon.cc.mcgill.ca>, whitney@christie.Meakins.McGill.CA (Whitney de Vries) writes:
>> > Modula-3's static based exception handling mechanism is insufficient
>> > for supporting the extensible programming style used in Oberon.
>> > The basic gist is that extensions may include "exception" conditions
>> > that are unforseen by the programmer of the base/carrier.
>> > 
>> > Syzperski's thesis on ETHOS has a nice explaination of this.
>> 
>> The current exception mechanism of Oberon is still more insufficient than
>> that of Modula-3.
>> Even a very simple exception mechanism a la Eiffel, where there is only
>> a single exception (failure), would be an important improvement over the 
>> current situation.

>Why do you insist that exceptions are critical and not having them is
>a serious flaw?  I come from a real-time embedded system world where
>Ada is used regularly.  The chief concern there is that systems operate
>reliably.  Yet, when exceptions are introduced (ie., you are trying to
>anticipate the unexpected -- literally impossible) the system reliability
>is put in question since exceptions (if no handler is present) can crash
>the system.  In a real-time system this is a definite no-no.  What is
>desired is that the system degrade gracefully or attempt to restart.  This
>function can be easily accomplished without resorting to the complexity
>inherent with exceptions.  As a matter of fact, our coding standard
>specifically disallows the use of exceptions for those reasons. (Exceptions 
>are also notoriously difficult to test -- without modifying the code).

>So, in what circumstances are exceptions required or even necessary?
> 
>> Eelco Dijkstra
> 

>Regards,
>	Michael

>--------------------------------------------------------------
>Michael Griebling, P.Eng.		grieblm@trt.allied.com
>AlliedSignal Aerospace Canada		my opinions are my own

  I agree with Michael and have developed a personal style based
on casting all procedures as boolean.  In any case, local knowledge
(the point in the code where "failure" first occurs) seems to me
far superior to global exception handlers which do not have the
full context in which the failure occured.

-Doug Danforth

-- 
"As simple as possible, but not simpler." A. Einstein
Technical Details
Message-ID: <danwotDJwvqt.F6I@netcom.com>
Path: arc1-ca.pugleaf.net!netcom.com!danwot
References: <9512121122.AA01280@trt.allied.com>

Show Full Headers
Complete Article Headers
Newsgroups: comp.lang.oberon
Path: arc1-ca.pugleaf.net!netcom.com!danwot
From: danwot@netcom.com (Douglas G. Danforth)
Subject: Re: Oberon/F: Intermittent TRAP windows.
Message-ID: <danwotDJwvqt.F6I@netcom.com>
Organization: NETCOM On-line Communication Services (408 261-4700 guest)
References: <9512121122.AA01280@trt.allied.com>
Date: Thu, 21 Dec 1995 00:52:04 GMT
Sender: danwot@netcom.netcom.com