This section describes techniques currently used to report and handle failures in functions, it also shows why these techniques might be insufficient.
If you just want to learn how to use Outcome library go straight to Tutorial section.
Exceptions with their good and bad sides.
errno with their good and bad sides.
Error codes with their good and bad sides.
Overview of std::error_code
Plugging a library into std::error_code
Illustrates how you can hook into the std::error_code system from the Standard Library in order to work with your own set of error codes.
Describes narrow-contract functions that do not work for all input values, and advantage of using them.