Toward modular verifiable exception handling

  • Authors:
  • D. M. Berry;R. A. Kemmerer;A. Von Staa;S. Yemini

  • Affiliations:
  • Computer Science Department, University of California at Los Angeles, Los Angeles, CA 90024, U.S.A.;Computer Science Department, University of California at Los Angeles, Los Angeles, CA 90024, U.S.A.;Depto. de Informática, Pontificia Universidade Católica, Rio de Janeiro, RJ, Brasil;Computer Science Department, University of California at Los Angeles, Los Angeles, CA 90024, U.S.A.

  • Venue:
  • Computer Languages
  • Year:
  • 1980

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recognizing that an error condition is an intrinsic part of the abstract type to which the operation that detects the condition belongs, an attempt is made to specify and implement error condition detection and handling within the framework of the Alphard form, a construct for encapsulation of data type specification and implementation. The essence of the problem is this: while error condition detection is done by the operation in the form, only the user of the type can determine the meaning of the condition with respect to the way the type is used. Thus, the user must be able to specify the handler. Unfortunately, programming the handler often requires access to encapsulated implementation details which are hidden from the user. After discussing the general issues of exception handling, modularity, and abstract data types, this paper proposes a solution for one category of exceptions, namely errors. Specifically an externally visible condition name is the link between an error's occurrence and some externally visible but internally programmed handler for it. Issues raised by this partial solution, including those of proof rules, are discussed.