Option(al) is not a failure
summary
Argues that ADT-style error handling actually works: use std::optional for marked propagation, move to std::expected (or Boost Outcome) for richer errors, and surface composition with a pipeline/operator so sequences stay linear. Presents a language proposal (static/froze-like throws + try expression) for zero overhead deterministic exceptions. Cites benchmarks showing exceptions cost 2–3 orders of magnitude more than error returns and a survey where ~52% of projects ban exceptions; examples and library prototypes demonstrate much cleaner composition and feasible performance.
AI-written summary · about
chapters (21)
- 0:00Intro
- 3:18What is an error
- 4:48Worst types of errors
- 5:44Happy path vs sad path
- 7:44There should never happen
- 10:10Logic errors
- 13:56Error returns
- 14:53Contracts
- 16:45Scorecards
- 18:51Error code based strategies
- 25:52Exceptions
- 28:45Directory errors
- 29:10Cost of exceptions
- 30:25Primary error handling
- 31:19ADT based error handling
- 38:43Option unexpected
- 39:23My take
- 43:43Error handling
- 50:21Zero overhead deterministic exceptions
- 51:09Wrapup
- 51:41Checked Exceptions








