code: def _mk_exception(exception, name=None):
      # Create an exception inheriting from both JoblibException
      # and that exception
      if name is None:
          name = exception.__name__
      this_name = "Joblib%s" % name
      if this_name in _exception_mapping:
          # Avoid creating twice the same exception
          this_exception = _exception_mapping[this_name]
      else:
          if exception is Exception:
              # JoblibException is already a subclass of Exception. No
              # need to use multiple inheritance
              return JoblibException, this_name
          try:
              this_exception = type(
                  this_name, (JoblibException, exception), {}
              )
              _exception_mapping[this_name] = this_exception
          except TypeError:
              # This happens if "Cannot create a consistent method
              # resolution order", e.g. because 'exception' is a
              # subclass of JoblibException or 'exception' is not an
              # acceptable base class
              this_exception = JoblibException
  
      return this_exception, this_name
  
file_path: catboost/contrib/python/scikit-learn/py2/sklearn/externals/joblib/my_exceptions.py
imports: import sys
  from ._compat import PY3_OR_LATER
label_desc: Use image node_id 1 for calling a global function with example usage: _mk_exception(exception, name) and returns: this_exception,  this_name, JoblibException,  this_name