Computing Publications

Publications Home » Java Exceptions Throw No Surprises

Java Exceptions Throw No Surprises

Sophia Drossopoulou, Tanya Valkevych

Technical Report
March, 2000
Imperial College London, Department of Computing
Abstract

We present a summary of our formalization of the static and dynamic semantics of Java related to exceptions. We distinguish between normal execution, where no exception is thrown - or, more precisely, any exception thrown is handled - and abnormal execution, where an exception is thrown and not handled. The type system distinguishes normal types which describe the possible outcomes of normal execution, and abnormal types which describe the possible outcomes of abnormal execution. The type of a term consists of its normal type and its abnormal type.

The meaning of our subject reduction theorem we prove with this set-up is stronger than usual: it guarantees that normal execution returns a value of a type compatible with the normal type of the term, and that abnormal execution throws an exception compatible with the abnormal type of the term.

Keywords
SLURP
Java Semantics
PDF of full publication (371 kilobytes)
(need help viewing PDF files?)
Postscript of full publication (244 kilobytes)
(need help viewing Postscript files?)
BibTEX file for the publication
N.B.
Conditions for downloading publications from this site.
 

pubs.doc.ic.ac.uk: built & maintained by Ashok Argent-Katwala.