Java Exceptions Throw No Surprises

File Description SizeFormat 
nosurprises-00.psWorking Paper244.33 kBPostscriptView/Open
Title: Java Exceptions Throw No Surprises
Authors: Drossopoulou, S
Valkevych, T
Item 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. 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.
Content Version: Working Paper
Issue Date: 31-Mar-2000
Publisher Link:
Publisher: Imperial College London, Department of Computing
Start Page: 1
End Page: 16
Copyright Statement: © 2000 Imperial College, Department of Computing
Appears in Collections:Computing