code: def set_exception_info(self, exception, traceback):
          
          with self._condition:
              self._exception = exception
              self._traceback = traceback
              self._state = FINISHED
              for waiter in self._waiters:
                  waiter.add_exception(self)
              self._condition.notify_all()
          self._invoke_callbacks()
docs: Sets the result of the future as being the given exception
          and traceback.
  
          Should only be used by Executor implementations and unit tests.