Topic: exceptions and undesired events

topics > computer science > programming > Group: exception handling

consistency testing
error messages
numerical error


Exceptions generalize a module for the real world. They allow for dead ends, mistakes, non-returning transfers of control, imperfections, interrupts, and just plain errors. Exceptions allow holes in an operation's domain, or warm users of potential computation errors such as lose of real number precision. Exceptions allow the user to define an operation or procedure in just those areas where it is not well defined. In this way the user tailors the operation to his needs. (cbb 5/80)
Subtopic: exceptions to a rule up

Quote: in paper solutions with multiple options, 33% with mutually exclusive rules, 25% with general condition modified by exception [»paneJF2_2001]
Quote: in paper solutions, participants preferred mutually exclusive rules or a general case followed by exceptions; allow an 'unless' clause everywhere [»paneJF2_2001]
Quote: have exceptional facts which deviate from the schema's constraints [»borgA10_1986]
Quote: have exceptional subclasses which contradict portions of their superclass definition [»borgA10_1986]
Quote: exceptions generalize an operation by extending the domain (allows holes), extending the range, or indicating the last result [»goodJB12_1975, OK]
Quote: syntactic metalanguage includes an exception operator to make it easy to define general rules [»scowRS3_1982]
Quote: a specification should specify the behavior when perfect behavior is not obtainable [»parnDL_1977]
QuoteRef: goodJB12_1975 ;;684 exceptions allow user to tailor an operation to his needs

Subtopic: failure of abstract machine up

Quote: a reported undesired event indicates a failure of the previous level's abstract machine
Quote: a program is a sequence of orders for performing a calculation; unlike a human, every contingency must be foreseen [»wilkMV_1951]
Quote: tendency is to ignore the unusual case even though it is important [»reynCF3_1971, OK]
Quote: another problem with unusual cases is treating all of them in full
Quote: do not specify a module with properties that undesired events will frequently violate [»parnDL10_1976b]
Quote: a module's interface should include operations for communicating undesired events
Quote: the EDSAC only used about half of the order codes; an errant program would quickly stop and allow a postmortem dump [»campM1_1980]
Quote: the "abstract" machine detects attempts to violate its specifications; such undesired events invoke traps [»parnDL10_1976b]

Subtopic: exception vs. normal up

Quote: separate unexpected errors and their correction from normal code [»parnDL10_1976b]
Quote: Parnas and Wurges pioneered undesired events and exception handling of distributed applications [»hoffDM_2001]
Quote: an explicit declaration of an exception makes the exception visible to its callers [»stroB_1991]
Quote: assumptions about incorrect-usage describe the undesired events of a module

Subtopic: exception hierarchy up

Quote: multiple derivation is rejected for exceptions; ambiguous handlers; should handle both exceptions [»buhrPA9_2000]

Subtopic: exception groups up

Quote: need to define groups of exceptions; e.g., to catch any I/O library exception [»stroB_1994]

Subtopic: exception vs. error up

Quote: use 'exception' instead of 'error' because one procedure's error may be just an option for another procedure [»liskBH11_1979]

Subtopic: raise exception up

Quote: a statement can raise exceptions for any invocation it contains; the except statement raises all exceptions? [»liskBH11_1979]

Subtopic: upward vs. downward up

Quote: an undesired event may be propagating downward (i.e., violating virtual machine restrictions) or upward (i.e., reported by lower level) [»parnDL10_1976b]

Subtopic: Canadian vs. US dollars -- not type safe up

Quote: allowing exceptional instances can destroy type-safeness; e.g., using Canadian dollars instead of U.S. ones [»borgA10_1986]

Subtopic: numeric error up

Quote: AMTRAN generates a warning whenever 4 or more decimal digits are lost in a subtraction [»reinJ11_1971, OK]

Subtopic: normal exception up

Quote: the ENDED exception is for normal termination with an explicit handler [»goodJB12_1975, OK]

Subtopic: classify result up

QuoteRef: goodJB12_1975 ;;684 exceptions may be used to classify a valid result (e.g., this is last one)

Related Topics up

Topic: bugs (66 items)
Topic: consistency testing (60 items)
Topic: error messages (37 items)
Topic: interrupts (25 items)
Topic: numerical error
(19 items)

Updated barberCB 5/04
Thesa is a trademark of C. Bradford Barber.