From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: X-Spam-Status: No, score=-1.3 required=5.0 tests=BAYES_00,INVALID_MSGID autolearn=no autolearn_force=no version=3.4.4 X-Google-Language: ENGLISH,ASCII-7-bit X-Google-Thread: fac41,9a0ff0bffdf63657 X-Google-Attributes: gidfac41,public X-Google-Thread: 103376,4b06f8f15f01a568 X-Google-Attributes: gid103376,public X-Google-Thread: f43e6,9a0ff0bffdf63657 X-Google-Attributes: gidf43e6,public X-Google-Thread: 1108a1,9a0ff0bffdf63657 X-Google-Attributes: gid1108a1,public From: "Mattias Lundstr�m" Subject: Re: Software landmines (loops) Date: 1998/09/02 Message-ID: <35ED51F3.DB7ADAD9@ehpt.com>#1/1 X-Deja-AN: 387130734 Content-Transfer-Encoding: 7bit References: <6r1glm$bvh$1@nnrp1.dejanews.com> <6r9f8h$jtm$1@nnrp1.dejanews.com> <6renh8$ga7$1@nnrp1.dejanews.com> <6rf59b$2ud$1@nnrp1.dejanews.com> <6rfra4$rul$1@nnrp1.dejanews.com> <35DBDD24.D003404D@calfp.co.uk> <6sbuod$fra$1@hirame.wwa.com> <904556531.666222@miso.it.uq.edu.au> <35EAB5B1.1DA1986B@ehpt.com> <6sf1dn$n52$1@hirame.wwa.com> <0h6hs6.sjj.ln@saraghina> Organization: Ericsson HP X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Mime-Version: 1.0 Newsgroups: comp.lang.eiffel,comp.object,comp.software-eng,comp.lang.ada Date: 1998-09-02T00:00:00+00:00 List-Id: Richard Jones wrote: > Both of you miss the point that exceptions solve this problem > neatly and naturally, i.e. in some sort of bastardized > Java/C++ hybrid you might write: > > File f ("name", File::OpenReadOnly); > while (...) { > > if (error_condition) throw new ErrorException; > } > return; > > Rich. Not so. This is equivalent (if only function scope is considered here): File f ("name", File::OpenReadOnly); while (...) { if (error_condition) return NOT_OK; } return OK; which depends on the File object to do the cleanup in its destructor. This is one way to solve the problem, but it has nothing to do with the whole exception vs return code discussion. Note also that in the case of Java this kind of resource cleanup may not be satisfactory since we can not know when the finalization (cleanup) is actually done. - Mattias