Is this necessary? success implies a separate vector, not just the retcode but should only reflect the the function rose an exception