The purpose of this paper is to compare the exception handling mechanisms of Ada and Java. In order to be intelligible and useful to both communities, we have tried not get into specific technical intricacies of the languages, perhaps sometimes at the cost of precision. On the other side, we decided to use the language-specific terminology whenever we write about it. We believe that the contrary would often lead to misunderstandings: the same term sometimes covers two different concepts, e.g. object, or when the concepts are basically the same, the features provided by the language are largely different, making any unification impossible, e.g. task in Ada and thread Java.