- Don't use depricated exception.message. Instead using exception.args - Pass stdout output along with stderr in exception - Handle possible exceptions such as ValueError, OSError in all cases - Log all command executions and their errors