Path: csiph.com!v102.xanadu-bbs.net!xanadu-bbs.net!news.glorb.com!border3.nntp.dca.giganews.com!backlog3.nntp.dca3.giganews.com!border2.nntp.dca.giganews.com!nntp.giganews.com!news.iecc.com!.POSTED!nerds-end From: mac Newsgroups: comp.compilers Subject: Re: catch and throw, was Is multi-level function return possible? Date: Fri, 28 Mar 2014 23:08:10 +0000 (UTC) Organization: A noiseless patient Spider Lines: 15 Sender: news@iecc.com Approved: comp.compilers@iecc.com Message-ID: <14-03-076@comp.compilers> References: <14-03-065@comp.compilers> <14-03-068@comp.compilers> <14-03-070@comp.compilers> NNTP-Posting-Host: news.iecc.com Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-Trace: miucha.iecc.com 1396052722 92786 2001:470:1f07:1126:0:676f:7373:6970 (29 Mar 2014 00:25:22 GMT) X-Complaints-To: abuse@iecc.com NNTP-Posting-Date: Sat, 29 Mar 2014 00:25:22 +0000 (UTC) Keywords: errors, PL/I, history Posted-Date: 28 Mar 2014 20:25:22 EDT X-submission-address: compilers@iecc.com X-moderator-address: compilers-request@iecc.com X-FAQ-and-archives: http://compilers.iecc.com Xref: csiph.com comp.compilers:1198 X-Original-Bytes: 1795 > PL/I had ON and SIGNAL statements. SIGNAL would signal an exception. > ON would catch it. REVERT to cancel the effect of ON. Web search > indicates it was defined in 1964 but implemented later. May be the > PL/I designered borrowed it from an earlier Not quite the same. ON defined a handler invoked at the signal site. It could attempt repair and return. more like an interrupt. However, the typical handler did a non-local GOTO to bail out, clearing any calls between the signal and the gone-to label. I still think that the ability to resume can be useful. The classic survey is Goodenough 1975