A lot of dual-error functions (error + exception). The error should probably be returned not taken as an outparam.