Topic: control returning functions and expressions
Topic: exception handling by recovery block or rescue clause
Topic: exception handling with resumption
Topic: failure returning functions and expressions
Topic: exception handling by try..catch
Topic: return from procedure
Topic: termination of control unit
| |
Summary
Exception handling can be an alternative procedure exit. For instance a block or procedure call may be modified by an invoker-defined exception handler. This handler is executed when the block or procedure signals an exception. The invoker extends the procedure's definition to handle exceptions undefinable from inside the procedure. The exception handler may be a label within the invoker, passed as an argument. The exception handler may explicitly terminate a calling procedure. (cbb 5/80)
Subtopic: termination vs. resumption
Quote: termination is simpler than resumption for exception handling; resumption is rarely more expressive than termination [»liskBH11_1979]
| Quote: use termination instead of resumption for exception handling: simpler, discourages resource allocation attempts, resumption is not necessary [»stroB_1994]
| Quote: throwing error propagation returns to the handler using stack unwinding while resuming propagation returns to the raise, if possible [»buhrPA9_2000]
| Quote: with the resumption model, exception signalers and handlers are mutually dependent; each depend on the other for satisfying a relation [»liskBH11_1979]
| Quote: on resource exhaustion, do not attempt to allocate needed resources and resume. It leads to complicated interactions between a library and its users
| Subtopic: exception handling by termination
Quote: in the termination model of exception handling, the exception is conveyed to the caller [»liskBH11_1979]
| Quote: use error handling to terminate incomplete operations
| Quote: an unhandled exception raises a 'failure' exception that is either handled or generates trace-back information [»hullTE9_1988]
| QuoteRef: cbb_1973 ;;7/6/74 error handling is a matter of backing up
| Subtopic: dump
Quote: the EDSAC only used about half of the order codes; an errant program would quickly stop and allow a postmortem dump [»campM1_1980]
| Subtopic: resign
Quote: resign instead of failing fast; free up resources, clean things up, and signal definite failure; recovery isn't possible [»wirfR7_2006]
| Subtopic: goto, exit, leave
QuoteRef: goodJB12_1975 ;;690 in exception handler, EXIT(value) terminates unit and replaces it with value, while EXIT terminates statement
| Quote: need goto for abnormal exits and non-returning transfers between modules [»frieFL1_1974, OK]
| QuoteRef: thimH2_1980 ;;131 "'Leave can be used for handling errors detected in low level procedures
| QuoteRef: reynJC_1965 ;;427 failure of a generator is propagated up until a conditional jump is reached
| Subtopic: UI termination
Quote: loss of tracking is the termination signal for Sketchpad; finish a drawing with a quick flick of the pen; the tracking program fails [»suthIE5_1963]
|
Related Topics
Topic: control returning functions and expressions (6 items)
Topic: exception handling by recovery block or rescue clause (22 items)
Topic: exception handling with resumption (31 items)
Topic: failure returning functions and expressions (24 items)
Topic: exception handling by try..catch (53 items)
Topic: return from procedure (9 items)
Topic: termination of control unit (22 items)
|