If one of these called functions throws an exception, then unless explicitly noted otherwise
the output function sets
in the error state.
is set in
the output function
rethrows the exception without completing its actions, otherwise
it does not throw anything and proceeds as if the called function had returned
a failure indication.