589 @param unhandled flag indicating an uncaught exception |
589 @param unhandled flag indicating an uncaught exception |
590 """ |
590 """ |
591 exctype, excval, exctb = excinfo |
591 exctype, excval, exctb = excinfo |
592 if exctype in [SystemExit, bdb.BdbQuit]: |
592 if exctype in [SystemExit, bdb.BdbQuit]: |
593 atexit._run_exitfuncs() |
593 atexit._run_exitfuncs() |
|
594 if excval is None: |
|
595 excval = 0 |
|
596 elif isinstance(excval, str): |
|
597 self._dbgClient.write(excval) |
|
598 excval = 1 |
|
599 elif isinstance(excval, bytes): |
|
600 self._dbgClient.write(excval.decode()) |
|
601 excval = 1 |
594 if isinstance(excval, int): |
602 if isinstance(excval, int): |
595 self._dbgClient.progTerminated(excval) |
603 self._dbgClient.progTerminated(excval) |
596 else: |
604 else: |
597 self._dbgClient.progTerminated(excval.code) |
605 self._dbgClient.progTerminated(excval.code) |
598 return |
606 return |