Stayin' alert: moulding failure and exceptions to your needs

Anya Helene Bagge, Valentin David, Magne Haveraaen and Karl Trygve Kalleberg

Citation:

Anya Helene Bagge, Valentin David, Magne Haveraaen and Karl Trygve Kalleberg. Stayin' alert: moulding failure and exceptions to your needs. In Proceedings of the Fifth international conference on Generative Programming and Component Engineering (GPCE'06), pages 265–274. ACM, 2006.

Conference:

Fifth international conference on Generative Programming and Component Engineering (GPCE'06), Portland, Oregon, 2006, proceedings pp.265–274

Paper Links:

[doi] [pdf]

Abstract:

Dealing with failure and exceptional situations is an important but tricky part of programming, especially when reusing existing components. Traditionally, it has been up to the designer of a library to decide whether to use a language's exception mechanism, return values, or other ways to indicate exceptional circumstances. The library user has been bound by this choice, even though it may be inconvenient for a particular use. Furthermore, normal program code is often cluttered with code dealing with exceptional circumstances.This paper introduces an alert concept which gives a uniform interface to all failure mechanisms. It separates the handling of an exceptional situation from reporting it, and allows for retro-fitting this for existing libraries. For instance, we may easily declare the error codes of the POSIX C library for file handling, and then use the library functions as if C had been extended with an exception mechanism for these functions -- a moulding of failure handling to the user's needs, independently of the library designer's choices.

BibTeX:

@InProceedings{bagge-david-haveraaen-kalleberg-gpce06-alerts,
  title = {Stayin' alert: moulding failure and exceptions to your needs},
  author = {Anya Helene Bagge and Valentin David and Magne Haveraaen and Karl Trygve Kalleberg},
  year = {2006},
  booktitle = {Proceedings of the Fifth international conference on Generative Programming and Component Engineering (GPCE'06)},
  pages = {265--274},
  publisher = {ACM},
  address = {New York, NY, USA},
  doi = {10.1145/1173706.1173747},
  isbn = {1-59593-237-2},
  location = {Portland, Oregon},
  url = {http://www.ii.uib.no/~anya/papers/bagge-david-haveraaen-kalleberg-gpce06-alerts.html},
  pdf = {http://www.ii.uib.no/~anya/papers/bagge-david-haveraaen-kalleberg-gpce06-alerts.pdf},
}

Copyright:

Copyright © 2006 ACM.