1.3 KiB
Print File Example
This directory has several versions of the same simple program (which reads a file, prints it to standard out and handles errors using LEAF) 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 novel mechanism for classification of failures.
Using a result<T>
type:
-
print_file_result.cpp reports errors with
leaf::result<T>
, using an error codeenum
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 useleaf::result<T>
. -
print_file_result_error_tags.cpp reports errors with
leaf::result<T>
, using a novel mechanism for classification of failures.