Functional exception-less error handling with C++23’s optional and expected -- Sy Brand
std::optional has been updated in C++23, and std::expected added as a new way of representing errors in your code. Read more about them here:
Functional exception-less error handling with C++23’s optional and expected
by Sy Brand
From the article:
std::optional<T> expresses “either a T or nothing”. C++23 comes with a new type, std::expected<T,E> which expresses “either the expected T, or some E telling you what went wrong”. This type also comes with that special new functional interface. As of Visual Studio 2022 version 17.6 Preview 3, all of these features are available in our standard library. Armed with an STL implementation you can try yourself, I’m going to exhibit how to use std::optional‘s new interface, and the new std::expected to handle disappointments.

 In my previous post I showed how to compile {fmt} as a C++20 module with clang. Although taking only two commands, ideally it’s not something you should be doing manually. So in this post, I’ll talk about module support in CMake, everyone’s favorite not a build system.
In my previous post I showed how to compile {fmt} as a C++20 module with clang. Although taking only two commands, ideally it’s not something you should be doing manually. So in this post, I’ll talk about module support in CMake, everyone’s favorite not a build system. This post is an updated version of an article from five years ago, now that everything Sy talked about is in the standard and implemented in Visual Studio.
This post is an updated version of an article from five years ago, now that everything Sy talked about is in the standard and implemented in Visual Studio.
 The Broker Pattern structures distributed software systems that interact with remote service invocations. It is responsible for coordinating the communication, its results, and exceptions.
The Broker Pattern structures distributed software systems that interact with remote service invocations. It is responsible for coordinating the communication, its results, and exceptions. In this article, I cover Default constructuctible lambdas.
In this article, I cover Default constructuctible lambdas.