A Practical Approach to Error Handling
summary
Describes a concrete workflow: check every API call, keep aggressive runtime asserts in release, mark functions noexcept everywhere so failures are forced to a small set of code paths, and collect memory dumps on failure for postmortem analysis. Prioritize reproducing errors before writing handlers, fix the few high-volume faults (example: auto re-register a broken COM component), log noncritical environment quirks, throttle reports, and run automated statistical correlation (Laplacian / MDL-style) over loaded modules to pinpoint third‑party causes.
AI-written summary · about
chapters (18)
- 0:00Introduction
- 1:10Options for Error Handling (2)
- 4:31Options for Error Handling: Exception (2)
- 5:52Exception Safety Guarantees
- 7:31Basic Exception Safety Guarantee
- 7:59The Challenge
- 8:46So what do we do?
- 11:08If checks fail
- 14:57Next: Homework
- 17:44Categories of Errors: Critical
- 20:04Categories of Errors: Untested
- 22:41Categories of Errors: Bad User Experience
- 24:05Categories of Errors: Indication of broken environment
- 25:13Error Analysis
- 26:45Cause Analysis
- 29:17Minimum Description Length
- 31:30Compressing Reports
- 35:33C++20 Contracts (2)
related talks
44mA Practical Approach to Error Handling
43mLearning to Live with Errors
57mYou’re Doing Exceptions Wrong
01h 00mError Handling is Cancelling Operations
30mDesign Patterns for Handling/Reporting Errors in C++ - Parallel Algorithms & Executors
59mAn Architectural Approach to Error Handling
57m“The Unexceptional Exceptions"
45mThe design of error
