I am curious on where to use SaltInvocationError, or ret['result'] = False, or just log.error(). There seems to be no consensus between exec functions. Anyway, it is out of scope for this PR.