In the process tutorial, it states
The default behaviour of all functions is to throw an
std::system_erroron failure.
However, the example given is using boost::process::system. Do boost::process::child functions throw a std::system_error the way boost::system functions do? Where could I find this information in future for other classes? It's not part of the class documentation
Tutorial indeed states
std::system_errorwhile reference docs state this:Code inspection is the ultimate answer (boost/process/exception.hpp):
If a function marked
noexceptthrows,std::terminateis called; effectively this allows to simplify the reasoning about them as generally non-throwing ones. Otherwise, i.e. withoutnoexceptor withnoexcept(false), a function can throw anything. In the end it is up to the programmer to believe the specification or not.