Class Central is learner-supported. When you buy through links on our site, we may earn an affiliate commission.

YouTube

De-fragmenting C++ - Making Exceptions More Affordable and Usable

ACCU Conference via YouTube

Overview

Save Big on Coursera Plus. 7,000+ courses at $160 off. Limited Time Only!
Explore the challenges and potential solutions for exception handling in C++ in this keynote address from ACCU 2019. Delve into the root causes of fragmentation within the C++ community regarding error handling and examine proposed solutions aimed at unifying exception usage. Learn about the distinctions between program-recoverable errors, program bugs, and resource limit exceedances, and understand why they should be reported differently. Discover ongoing efforts in C++ standardization to evolve the standard library, including groundwork laid in C++20 for future changes. Gain insights from Herb Sutter, a prominent figure in C++ development, as he discusses zero-overhead exception handling, throw values versus types, and proposed extensions like try expressions. Understand the benefits of these potential changes, including improved convenience, automatic exception propagation, and enhanced code visibility.

Syllabus

Intro
Code review...
Pathology 101
Roadmap
A funny thing happened on the way to breakfast...
Root cause: Today's EH not zero-overhead
Taxonomy
Core issues: Zero-overhead + determinism
Throw values, not types
Core proposal summary
Bugs contracts
Spot the oddities
Key Q: Can I continue running normal code?
Language-independent fact
Proposed extension: try expressions
Simplifications â–º What are the benefits? Convenience as todayl: Automatic exception propagation â–º Correctness (newl Visible still convenient) propagation

Taught by

ACCU Conference

Reviews

Start your review of De-fragmenting C++ - Making Exceptions More Affordable and Usable

Never Stop Learning.

Get personalized course recommendations, track subjects and courses with reminders, and more.

Someone learning on their laptop while sitting on the floor.