0 indicates succesfull execution, so why would one change it to 1 indicating a failure? That makes no sense. The only way for ExecuteException to happen is if the return code is > 0 and no other return values are allowed from the Executor. The ExecutorAssist doesn't set anything else than 0 as allowed value, so the DefaultExecutor can't throw any exception without rValue != 0.