(self)
| 106 | |
| 107 | class ExceptionAwareThread(threading.Thread): |
| 108 | def run(self): |
| 109 | self._exception = None |
| 110 | try: |
| 111 | if self._target is not None: # type: ignore |
| 112 | self._result = self._target(*self._args, **self._kwargs) # type: ignore |
| 113 | except Exception as e: |
| 114 | self._exception = e |
| 115 | finally: |
| 116 | del self._target, self._args, self._kwargs # type: ignore |
| 117 | |
| 118 | def join(self, timeout=None): |
| 119 | super().join(timeout) |