- What is thrown? What is caught?
- Are exceptions a special kind of thing?
- How are handlers scoped?
- What if an exception is not caught?
- What if an exception is thrown in finally/unwind-protect?
- What about run-time-system-determined errors?
- Objects are thrown, classes are caught
(similar to
case).
- Exceptions are normal objects (often strings).
- Handlers are scoped dynamically.
- Execution is aborted if an exception is not caught.
(The exception is first printed.)
- Cool will not support ``finally''
(simulate using a handler for any exception).
- All run-time errors turned into throwing
of a string.
- Where do we place the exception object?
- How do we locate the handler?
- How do we implement
finally?
- How do we restore the execution context?
- How do we handle nesting exception throwing
in finally/unwind-protect?
- How do we get runtime errors into exceptions?
John Tang Boyland
2004-11-10