This Article 
 Bibliographic References 
 Add to: 
Data-Oriented Exception Handling
May 1992 (vol. 18 no. 5)
pp. 393-401

Exception handling mechanisms were added to programming languages to segregate normal algorithmic processing from error processing. However, handlers which are typically associated with exceptions through a program's control features, clutter source text when features are nested or when different objects require different responses to exceptions. The authors describe a method for associating handlers with data objects in declarations that better segregates algorithmic and error processing. They call their notion data-oriented exception handling to distinguish it from more conventional, control-oriented mechanisms. Empirical studies of Ada programs indicate that conventional exception handling mechanisms are more complex than necessary and that data-oriented exception handling can be used to produce programs that are smaller, better structured, and easier to understand and modify.

[1] M. Bidoit, M.-C. Gaudel, and G. Guiho, "Toward a systematic and safe programming of exception handling in Ada," inProc. 3rd Joint Ada Eur./AdaTEC Conf.Cambridge, UK: Cambridge Univ. Press, 1984, pp. 141-152.
[2] A. P. Black, "Exception handling: the case against," Dept. Comput. Sci., Univ. Washington, Tech. Rep. 82-01-02, 1983.
[3] C. M. Geschke, J. H. Morris, and E. H. Satterthwaite, "Early experience with Mesa,"Commun. ACM, vol. 20, (Tech. Rep. 8,) pp. 540-553, Aug. 1977.
[4] J. B. Goodenough, "Exception handling: issues and a proposed notation,"Commun. ACM, vol. 18, (Tech. Rep. 12), pp. 683-696. Dec. 1975.
[5] J. J. Horning, "Effects of programming languages on reliability," inComputing Systems Reliability. Cambridge, UK: Cambridge Univ. Press, 1979.
[6] J. D. Ichbiahet al., "Rationale for the design of the Ada programming language,"SIGPLAN Notices, vol. 14, (Tech. Rep. 6), pt. B, June 1979.
[7] R. Levin, "Program structures for exceptional condition handling," Dept. Comput. Sci., Carnegie-Mellon Univ., 1977.
[8] B. H. Liskov and A. Snyder, "Exception handling in CLU,"IEEE Trans. Software Eng., vol. SE-5, pp. 546-558, Nov. 1979.
[9] D. C. Luckham and W. Polak, "Ada exception handling: An axiomatic approach,"ACM Trans. Program. Lang. Syst., vol. 2, no. 2, pp. 225-233, Apr. 1980.
[10] D. L. Parnas and H. Wurges, "Response to undesired events in software systems," inProc. 2nd Int. Conf. on Software Eng., 1976, pp. 437-446.
[11] S. Yemini and D. M. Berry, "A modular verifiable exception-handling mechanism,"ACM TOPLAS, vol. 7, (Tech. Rep. 2), pp. 214-243, 1985.

Index Terms:
programming languages; normal algorithmic processing; error processing; control features; source text; data objects; declarations; data-oriented exception handling; Ada programs; Ada; data structures; programming
Q. Cui, J. Gannon, "Data-Oriented Exception Handling," IEEE Transactions on Software Engineering, vol. 18, no. 5, pp. 393-401, May 1992, doi:10.1109/32.135772
Usage of this product signifies your acceptance of the Terms of Use.