Topic: bugs
Topic: consistency testing
Topic: error messages
Topic: interrupts
Topic: numerical error
| |
Summary
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
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
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
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
Quote: multiple derivation is rejected for exceptions; ambiguous handlers; should handle both exceptions [»buhrPA9_2000]
| Subtopic: exception groups
Quote: need to define groups of exceptions; e.g., to catch any I/O library exception [»stroB_1994]
| Subtopic: exception vs. error
Quote: use 'exception' instead of 'error' because one procedure's error may be just an option for another procedure [»liskBH11_1979]
| Subtopic: raise exception
Quote: a statement can raise exceptions for any invocation it contains; the except statement raises all exceptions? [»liskBH11_1979]
| Subtopic: upward vs. downward
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
Quote: allowing exceptional instances can destroy type-safeness; e.g., using Canadian dollars instead of U.S. ones [»borgA10_1986]
| Subtopic: numeric error
Quote: AMTRAN generates a warning whenever 4 or more decimal digits are lost in a subtraction [»reinJ11_1971, OK]
| Subtopic: normal exception
Quote: the ENDED exception is for normal termination with an explicit handler [»goodJB12_1975, OK]
| Subtopic: classify result
QuoteRef: goodJB12_1975 ;;684 exceptions may be used to classify a valid result (e.g., this is last one)
|
Related Topics
Topic: bugs (66 items)
Topic: consistency testing (60 items)
Topic: error messages (37 items)
Topic: interrupts (25 items)
Topic: numerical error (19 items)
|