Exceptions in Java
Presentation Sections
Section One
Lexicon: Actors and Actions
Lexicon: Types of Exceptions
Error Handling Before
Exceptions
Problems with these Systems
Birth of Modern Exceptions
Goodenough’s Notation
Advantages of this Notation
Questions for Section One
Section Two
Classifying Java Exceptions
Keywords for Java Exceptions
General Syntax
Canonical Example
throw(s) Keyword
throw(s) Keyword, part 2
throw(s) Keyword, part 3
try Keyword
catch Keyword
catch Keyword, part 2
finally Keyword
finally Keyword, part 2
finally Keyword, part 3
Steps of try…catch…finally
Questions for Section Two
Section Three
Java Exception Hierarchy
Creating your own exception
class
Three Critical Decisions
An Example of Return v.
Raise
Mapping to an Exception
Class
Using Unchecked Exceptions
Simple Type Subsumption
A Tricky Subsumption Problem
Avoiding Type Subsumption
Subsumption Is Good Too!
Type Encapsulation
Questions for Section Three
Section Four
The Utility of Backtracking
finally and finalize(),
siblings?
Bytecode Layout
Bytecode Layout, part 2
Performance Issues
Exceptions and JIT
Optimization
Bytecode to Machine Code
Why Runtime Exceptions are
Not Checked
Issues in Multithreaded Code
Use a Callback Pattern
Use the ThreadGroup class
Exceptions and RMI
Questions for Section Four
Bibliography
Section One
Section Two
Section Three
Section Four