code: def call_decorator(cls, func):
          
  
          @wraps(func)
          def _wrap(self, *args, **kwargs):
              try:
                  return func(self, *args, **kwargs)
              except Exception:
                  self.logger.exception('While executing benchmark')
                  if not (self.catch_child_exception or False):
                      raise
  
          return _wrap
docs: class function that MUST be specified as decorator
          to the `__call__` method overriden by sub-classes.