docs: def _execute_handling(self, *eopatches, **kwargs):
          """ Handles measuring execution time and error propagation
          """
          self.private_task_config.start_time = datetime.datetime.now()
  
          caught_exception = None
          try:
              return_value = self.execute(*eopatches, **kwargs)
          except BaseException as exception:
              caught_exception = exception, sys.exc_info()[2]
  
          if caught_exception is not None:  # Exception is not raised in except statement to prevent duplicated traceback
              exception, traceback = caught_exception
              raise type(exception)('During execution of task {}: {}'.format(self.__class__.__name__,
                                                                             exception)).with_traceback(traceback)
  
          self.private_task_config.end_time = datetime.datetime.now()
          return return_value