# Source code for pexpect.exceptions

    """Exception classes used by Pexpect"""

    import traceback
    import sys

    class ExceptionPexpect(Exception):
        '''Base class for all exceptions raised by this module.
        '''

        def __init__(self, value):
            super(ExceptionPexpect, self).__init__(value)
            self.value = value

        def __str__(self):
            return str(self.value)

        def get_trace(self):
            '''This returns an abbreviated stack trace with lines that only concern
            the caller. In other words, the stack trace inside the Pexpect module
            is not included. '''

            tblist = traceback.extract_tb(sys.exc_info()[2])
            tblist = [item for item in tblist if ('pexpect/__init__' not in item[0])
                                               and ('pexpect/expect' not in item[0])]
            tblist = traceback.format_list(tblist)
            return ''.join(tblist)

    class EOF(ExceptionPexpect):
        '''Raised when EOF is read from a child.
        This usually means the child has exited.'''

    class TIMEOUT(ExceptionPexpect):
        '''Raised when a read time exceeds the timeout. '''