Checked exceptions improve the robustness of software, but decrease its adaptability because they must be propagated explicitly, and because they must often be handled even if they cannot be signalled. Anchored exception declarations solve these problems by allowing a method to declare its exceptional behavior in terms of other methods.
The original type checking algorithms for anchored exception declarations, however, are not modular. In this paper, we present algorithms that allow complete, modular, and decidable veriï¬cation of exception safety in a language without parametric polymorphism. In addition, we show that both complete exception ï¬‚ow analysis and complete exception safety analysis based on type information are undecidable in a language with subtyping and parametric polymorphism.