1. Abnormal program termination.
2. Return error codes.
3. Macro errno.
4. try/catch/throw.
5. Using objects as exceptions.
6. Exception specifications.
7. Unwinding stack.
8. More exception features.
9. RAII.
10. Exceptions in constructors.
11. Best practices.