DebugClients/Python3/DebugBase.py

changeset 12
1d8dd9706f46
parent 0
de9c2efb9d02
child 13
1af94a91f439
equal deleted inserted replaced
11:b0996e4a289e 12:1d8dd9706f46
575 @param unhandled flag indicating an uncaught exception 575 @param unhandled flag indicating an uncaught exception
576 """ 576 """
577 exctype, excval, exctb = excinfo 577 exctype, excval, exctb = excinfo
578 if exctype in [SystemExit, bdb.BdbQuit]: 578 if exctype in [SystemExit, bdb.BdbQuit]:
579 atexit._run_exitfuncs() 579 atexit._run_exitfuncs()
580 self._dbgClient.progTerminated(excval) 580 if isinstance(excval, int):
581 self._dbgClient.progTerminated(excval)
582 else:
583 self._dbgClient.progTerminated(excval.code)
581 return 584 return
582 585
583 elif exctype in [SyntaxError, IndentationError]: 586 elif exctype in [SyntaxError, IndentationError]:
584 try: 587 try:
585 message, (filename, linenr, charnr, text) = excval.args 588 message, (filename, linenr, charnr, text) = excval[0], excval[1]
586 except ValueError: 589 except ValueError:
587 exclist = [] 590 exclist = []
588 else: 591 else:
589 exclist = [message, [filename, linenr, charnr]] 592 exclist = [message, [filename, linenr, charnr]]
590 593
599 if unhandled: 602 if unhandled:
600 exctypetxt = "unhandled {0!s}".format(str(exctype)) 603 exctypetxt = "unhandled {0!s}".format(str(exctype))
601 else: 604 else:
602 exctypetxt = str(exctype) 605 exctypetxt = str(exctype)
603 try: 606 try:
604 exclist = [exctypetxt, 607 exclist = [exctypetxt, str(excval)]
605 str(excval).encode(
606 self._dbgClient.getCoding(), 'backslashreplace')]
607 except TypeError: 608 except TypeError:
608 exclist = [exctypetxt, str(excval)] 609 exclist = [exctypetxt, str(excval)]
609 610
610 if exctb: 611 if exctb:
611 frlist = self.__extract_stack(exctb) 612 frlist = self.__extract_stack(exctb)

eric ide

mercurial