traceback.py 553 B

12345678910111213141516171819202122
  1. #!/usr/bin/env python
  2. import sys,traceback,os
  3. sys.path.insert(0,'.')
  4. if 'TMUX' in os.environ: del os.environ['TMUX']
  5. f = open('my.err','w')
  6. try:
  7. sys.argv.pop(0)
  8. execfile(sys.argv[0])
  9. except SystemExit:
  10. e = sys.exc_info()
  11. sys.exit(int(str(e[1])))
  12. except:
  13. l = traceback.format_exception(*sys.exc_info())
  14. exc = l.pop()
  15. def red(s): return '{e}[31;1m{}{e}[0m'.format(s,e='\033')
  16. def yellow(s): return '{e}[33;1m{}{e}[0m'.format(s,e='\033')
  17. sys.stdout.write('{}{}'.format(yellow(''.join(l)),red(exc)))
  18. traceback.print_exc(file=f)
  19. sys.exit(1)