def handle_exception(self,e):
        if isinstance(e,vdebug.dbgp.TimeoutError):
            self.handle_timeout()
        elif isinstance(e,vdebug.util.UserInterrupt):
            try:
                self.handle_interrupt()
            except:
                pass
        elif isinstance(e,vdebug.event.EventError):
            self.handle_readable_error(e)
        elif isinstance(e,vdebug.breakpoint.BreakpointError):
            self.handle_readable_error(e)
        elif isinstance(e,vdebug.log.LogError):
            self.handle_readable_error(e)
        elif isinstance(e,vdebug.dbgp.DBGPError):
            self.handle_dbgp_error(e)
        elif isinstance(e,(EOFError,socket.error)):
            self.handle_socket_end()
        elif isinstance(e,KeyboardInterrupt):
            print "Keyboard interrupt - debugging session cancelled"
            try:
                self.runner.close()
            except:
                pass
        else:
            self.handle_general_exception()
        """
        elif isinstance(e,vim.error):
            self.handle_vim_error(e)
        """
Switch on the exception type to work out how to handle it.
dataset/ETHPy150Open joonty/vdebug/plugin/python/start_vdebug.py/DebuggerInterface.handle_exception