pylint/checkers/utils.py
def inherit_from_std_ex(node: astroid.node_classes.NodeNG) -> bool:
    """
    Return true if the given class node is subclass of
    exceptions.Exception.
    """
    ancestors = node.ancestors() if hasattr(node, "ancestors") else []
    for ancestor in itertools.chain([node], ancestors):
        if (
            ancestor.name in ("Exception", "BaseException")
            and ancestor.root().name == EXCEPTIONS_MODULE
        ):
            return True
    return False
def inherit_from_std_ex(node: astroid.node_classes.NodeNG) -> bool:
    """
    Return true if the given class node is subclass of
    exceptions.Exception.
    """
    ancestors = node.ancestors() if hasattr(node, "ancestors") else []
    for ancestor in itertools.chain([node], ancestors):
        if (
            ancestor.name in ("Exception", "BaseException")
            and ancestor.root().name == EXCEPTIONS_MODULE
        ):
            return True
    return False
def inherit_from_std_ex ( node : astroid . node_classes . NodeNG ) -> bool : ancestors = node . ancestors ( ) if hasattr ( node , "ancestors" ) else [ ] for ancestor in itertools . chain ( [ node ] , ancestors ) : if ( ancestor . name in ( "Exception" , "BaseException" ) and ancestor . root ( ) . name == EXCEPTIONS_MODULE ) : return True return False
Return true if the given class node is subclass of
    exceptions.Exception.
Return true if the given class node is subclass of exceptions . Exception .