Exception propagation

Bo I. Sandén · ACM SIGAda Ada Letters · 2001

As an introduction to this session, a brief background of the topic was discussed.Propagation deals with the communication of information regarding unexpected happenings from one context to another within a software system.For exception handling, there are three dimensions to the process of design: Information content --- what to tell Receptors --- whom to tell Strategy --- when to tellWithin these three dimensions, there are four primary design considerations: Responsibility --- Which units of the structure detect the unexpected event, which units communicate the events, and which units perform recovery? Granularity of information --- How much detail needs to be in the information that is communicated regarding the unexpected event? Fine-grained information may be necessary for recovery purposes, while more coarse-grained information may be sufficient for simple indication of errors. Types of information --- The nature of the information propagated needs to be decided. Possibilities include describing the origin of the exception, the cause of the exception, or the recovery strategy to be followed. Exception mapping --- What transformations or manipulations of the exception information are performed as it passes over context boundaries within the system? This aspect is at the core of designing propagation into a system, and is driven by decisions made for the first three considerations.Mapping of exceptions across program segment boundaries, that is, the propagation of the exceptions, can take place in four general ways.--- Refinement - where the exceptions are filtered, with some being stopped and others being propagated.--- Generalization - where the exceptions are aggregated to create exception abstractions.--- Translation - where the exceptions are mapped one-to-one but with a change of name or information content.--- Preservation - where the exceptions are mapped unchanged.

Read the paper · More papers on PaperTik