| 85 | |
| 86 | |
| 87 | class ExecutionException(Exception): |
| 88 | def __init__(self, exit_code, stderr, stdout): |
| 89 | message = 'Execution failed. Code ' + str(exit_code) |
| 90 | if stderr: |
| 91 | message += ': ' + stderr |
| 92 | elif stdout: |
| 93 | last_line_start = stdout.rfind('\n') |
| 94 | message += ': ' + stdout[last_line_start:] |
| 95 | |
| 96 | super().__init__(message) |
| 97 | |
| 98 | self.stdout = stdout |
| 99 | self.stderr = stderr |
| 100 | self.exit_code = exit_code |