How to make error handling less error-prone
summary
Argues for language support that provides automatic rollback of caller state so failures cannot leave objects inconsistent shows how that yields a strong exception guarantee for synchronous code and demonstrates efficient implementation strategies and integration with existing features compares this to historical recovery blocks (1975) and explains how the Ken protocol extends rollback to asynchronous and distributed systems cites concrete failures including examples of TLS certificate bugs to motivate the design and engineering tradeoffs
AI-written summary · about
chapters (11)
- 0:00Start
- 1:28Introduction
- 4:56Error state
- 8:39Return codes
- 12:28Error values
- 18:07Fun with NANS
- 19:34Handlers with per-process/thread extent
- 23:05Handlers associated with objects or contexts
- 24:26Exceptions
- 31:59Exception safety
- 46:06Recovery blocks vs try/catch
related talks
51mFailing Successfully: Reporting and Handling Errors
32mThe Absurdity of Error Handling: Finding a Purpose for Errors in Safety-Critical SYCL
57mError handling: doing it right!
40mBeyond Exceptions: Building Resilient Android Apps with S…
01h 03mExceptionally Bad: The Misuse of Exceptions in C++ & How to Do Better
40mPrinciples For Secure & Reliable Systems
43mSecurity By Design
22mWhat Could Go Wrong? The Subtle Science Of Coding for Failure
