This document is a thesis on methods for handling exceptions in object-oriented programming languages. It discusses the requirements for exception handling models, designs, and implementations. It also covers requirements imposed by programming language features like objects, modules, and scopes. The thesis examines alternative designs for exception handling mechanisms, focusing on how they transfer control, cleanup objects, and identify exceptions. It then details the specific exception handling method used in the compiler for the MEHL programming language, including how it uses static tables, cleans up objects, and addresses local environments.