python - Why exc_traceback returns None -
sys.exc_info() returns tuple (type , value, traceback).
 sys.exc_info()[2] our traceback object.  
why not catch exceptions traceback code:
import sys  try:     1/0 except zerodivisionerror:     print sys.exc_info()[2].tb_frame.f_back tb_frame , f_back usage has been explained here: frame objects
you see none because there no outer frame. you're executing directly, current frame last frame. demonstrate this, created demo.py:
import sys  try:     1/0 except zerodivisionerror:     print sys.exc_info()[2].tb_frame.f_back which should familiar, , trivial caller.py:
import demo now see difference:
$ python demo.py none  $ python caller.py <frame object @ 0x10bc34c20> in second case, there outer frame (i.e. caller.py), don't see none.
Comments
Post a Comment