Title: Combining the robustness of checked exceptions with the flexibility of unchecked exceptions using anchored exception declarations
Authors: van Dooren, Marko ×
Steegmans, Eric #
Issue Date: Oct-2005
Publisher: ACM
Host Document: Proceedings of the 20th Annual ACM SIGPLAN Conference on Object-Oriented Programming, Systems, Languages, and Applications pages:455-471
Conference: ACM SIGPLAN conference on Object oriented programming, systems, languages, and applications edition:20 location:San Diego date:16-20 October 2005
Abstract: Ever since their invention 30 years ago, checked exceptions have been a point of much discussion. On the one hand, they increase the robustness of software by preventing the manifestation of unanticipated checked exceptions at run-time. On the other hand, they decrease the adaptability of software because they must be propagated explicitly, and must often be handled even if they cannot be signalled.

We show that the problems with checked exceptions are caused by a lack of expressiveness of the exceptional return type of a method, which currently dictates a copy & paste style. We add the required expressiveness by introducing anchored exception declarations, which allow the exceptional behavior of a method to be declared relative to that of others. We present the formal semantics of anchored exception declarations, along with the necessary rules for ensuring compile-time safety, and give a proof of soundness. We show that anchored exception declarations do not violate the principle of information hiding when used properly, and provide a guideline for when to use them.

We have implemented anchored exception declarations in Cappuccino, which is an extension to the ClassicJava programming language.
ISBN: 1-59593-031-0
Publication status: published
KU Leuven publication type: IC
Appears in Collections:Informatics Section
× corresponding author
# (joint) last author

Files in This Item:

There are no files associated with this item.

Request a copy


All items in Lirias are protected by copyright, with all rights reserved.

© Web of science