Back to Arangodb

Motivation

3rdParty/boost/1.78.0/libs/outcome/doc/html/motivation.html

3.12.9.11.3 KB
Original Source

Motivation

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.

note

Motivation section of this documentation is not complete yet.

  1. Exceptions

Exceptions with their good and bad sides.

  1. errno

errno with their good and bad sides.

  1. Error codes

Error codes with their good and bad sides.

  1. std::error_code

Overview of std::error_code

  1. 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.

  1. Plugging a library into boost::system::error_code

Illustrates how you can hook into the boost::system::error_code system from Boost in order to work with your own set of error codes.

  1. Narrow contracts

Describes narrow-contract functions that do not work for all input values, and advantage of using them.