The Dawn of a New Error
summary
Survey shows 52% of C++ codebases ban exceptions; proposal p0709r1 promises zero-overhead deterministic exceptions by throwing values and new syntax (fro/try) to make error flow explicit while keeping performance comparable to return-based approaches. Supporting proposals p1028 (std::error) and p1029/1144 (relocatable/move-relocates) replace std::error_code with compact domains, use a reserved register bit as a discriminator, and rely on Swift’s multi-year implementation as evidence this can work in practice.
AI-written summary · about
chapters (6)
- 0:00Start
- 4:50Exploding Return Types
- 10:44Convey Errors
- 20:20Railway Oriented Programming
- 22:59Relevant Keywords
- 33:30The System Error Header
related talks
55mExceptions Under the Spotlight
59m“The Exception Situation"
01h 35mMongrel Monads, Dirty, Dirty, Dirty
01h 02mBack to Basics: Exceptions
57m“The Unexceptional Exceptions"
01h 08m“Declarative Control Flow"
01h 14m“The Quiet Little Gem in Modern C++: <system_error>”
30mDesign Patterns for Handling/Reporting Errors in C++ - Parallel Algorithms & Executors
