| """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. ''' |