sys.exc_info()은 튜플 (유형, 값, 추적)을 반환합니다.
그래서 sys.exc_info()[2]
은 우리의 추적 대상입니다.exc_traceback이 반환하는 이유 없음
import sys
try:
1/0
except ZeroDivisionError:
print sys.exc_info()[2].tb_frame.f_back
tb_frame 및 f_back 사용은 여기에서 설명하고있다 : 어떤 외부 프레임이없는 None
때문에 Frame Objects
추적에는 추적 기능이 있습니다. 그렇지 않으면'AttributeError'가 발생하지만 추적 기능의 프레임에는'f_back'이 없습니다. 그것은 나에게 완벽하게 합리적인 것 같습니다. 이것을 직접 실행한다면 * 어떤 외부 프레임을 기대하고 있었습니까? * – jonrsharpe
라인 269 표준 라이브러리의 traceback.py 모듈에서 same : tb_frame.f_back이 사용되었습니다. – Heartagramir
그건 내 질문에 정말로 답하지 않습니다. * 왜 외부 프레임이있을 것이라고 생각 했습니까? – jonrsharpe