class_docstr: Exception raised when an error occurs while attempting to
  compile the file.
  
  To raise this exception, use
  
      raise PyCompileError(exc_type,exc_value,file[,msg])
  
  where
  
      exc_type:   exception type to be used in error message
                  type name can be accesses as class variable
                  'exc_type_name'
  
      exc_value:  exception value to be used in error message
                  can be accesses as class variable 'exc_value'
  
      file:       name of file being compiled to be used in error message
                  can be accesses as class variable 'file'
  
      msg:        string message to be written as error message
                  If no value is given, a default exception message will be
                  given, consistent with 'standard' py_compile output.
                  message (or default) can be accesses as class variable
                  'msg'
class_docstr_tok: ["Exception","raised","when","an","error","occurs","while","attempting","to","compile","the","file",".","To","raise","this","exception",",","use","raise","PyCompileError","(","exc_type",",","exc_value",",","file","[",",","msg","]",")","where","exc_type",":","exception","type","to","be","used","in","error","message","type","name","can","be","accesses","as","class","variable","'exc_type_name'","exc_value",":","exception","value","to","be","used","in","error","message","can","be","accesses","as","class","variable","'exc_value'","file",":","name","of","file","being","compiled","to","be","used","in","error","message","can","be","accesses","as","class","variable","'file'","msg",":","string","message","to","be","written","as","error","message","If","no","value","is","given",",","a","default","exception","message","will","be","given",",","consistent","with","'standard","'","py_compile","output",".","message","(","or","default",")","can","be","accesses","as","class","variable","'msg","'"]
code: def __init__(self, exc_type, exc_value, file, msg=""):
      exc_type_name = exc_type.__name__
      if exc_type is SyntaxError:
          tbtext = "".join(
              traceback.format_exception_only(exc_type, exc_value)
          )
          errmsg = tbtext.replace('File "<string>"', 'File "%s"' % file)
      else:
          errmsg = "Sorry: %s: %s" % (exc_type_name, exc_value)
  
      Exception.__init__(
          self, msg or errmsg, exc_type_name, exc_value, file
      )
  
      self.exc_type_name = exc_type_name
      self.exc_value = exc_value
      self.file = file
      self.msg = msg or errmsg
  
file_path: catboost/contrib/tools/python3/src/Lib/py_compile.py
imports: import enum
  import importlib._bootstrap_external
  import importlib.machinery
  import importlib.util
  import os
  import os.path
  import sys
  import traceback
label_desc: Use image node_id 1 to create a new PyCompileError object from inherited base classes: Exception with example: obj = PyCompileError(exc_type, exc_value, file, msg)