2
0
mirror of https://github.com/boostorg/leaf.git synced 2026-01-23 17:42:54 +00:00
Files
leaf/examples/print_file
Emil Dotchevski b1e99f2333 Example tweaks
2020-06-17 11:57:58 -07:00
..
2020-06-17 11:57:58 -07:00
2020-06-17 11:57:58 -07:00
2020-06-17 11:57:58 -07:00
2020-06-17 11:57:58 -07:00
2020-06-17 11:57:58 -07:00

Print File Example

This directory has several versions of the same simple program presented in the Five Minute Introduction, each using a different error handling style:

Using exception handling:

  • print_file_eh.cpp throws on error, using an exception type hierarchy for classification of failures.

  • print_file_eh_error_tags.cpp throws std::exception on error, using a separate set of individual error types, rather than an exception type hierarchy, for classification of failures.

Using a result<T> type:

  • print_file_result.cpp reports errors with leaf::result<T>, using an error code enum for classification of failures.

  • print_file_outcome_result.cpp is the same as the above, but using outcome::result<T>. This demonstrates the ability to transport arbitrary error objects through APIs that do not use leaf::result<T>.

  • print_file_result_error_tags.cpp reports errors with leaf::result<T>, using a separate set of individual error types, rather than an error code enum, for classification of failures.