Summary
In this episode, Jason continues his series on modernizing legacy code by upgrading his infix math expression evaluator to C++23. He focuses on improving error handling, adding proper subtraction support, and exploring C++23's lambda attributes feature. The episode demonstrates how to transform a throw-based error handling system into one that provides clear, compiler-understandable messaging with appropriate error reporting. He also discusses the trade-offs between using exceptions versus std::expected for error handling in a constexpr context.
Related C++ Standard Sections
This episode covers topics found in these sections of the C++ standard:
-
[runtime.error]76% match -
[std.exceptions.general]61% match -
[std.exceptions]61% match -
[diff.cpp03.input.output]50% match -
[expected]40% match