Java Exceptions Throw No Surprises
File(s)nosurprises-00.ps (244.33 KB)
Working Paper
Author(s)
Drossopoulou, S
Valkevych, T
Type
Report
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.\r\n\r\nThe 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.\r\n
Version
Working Paper
Date Issued
2000-03
Citation
2000, pp.1-16
Publisher
Imperial College London, Department of Computing
Start Page
1
End Page
16
Copyright Statement
© 2000 Imperial College, Department of Computing