October 2004
Intermediate to advanced
240 pages
6h 22m
English
Know when to say when: Report errors at the point they are detected and identified as errors. Handle or translate each error at the nearest level that can do it correctly.
Report an error (e.g., write throw) wherever a function detects an error that it cannot resolve itself and that makes it impossible for the function to continue execution. (See Item 70.)
Handle an error (e.g., write a catch that doesn’t rethrow the same or another exception or emit another kind of error code) in the places that have sufficient knowledge to handle the error, including to enforce boundaries defined in the error policy (e.g., on main and thread mainlines; see Item 62) and to absorb errors ...