파이썬 2.x에서 settrace
핸들러로 전달 된 프레임 객체는 f_exc_type
속성을가집니다.settrace 'return'호출에서 예외 처리
파이썬 3.x에서이 f_exc_type
이 삭제되었습니다.
함수가 예외를 전파하는 경우 'return'추적이 호출되지만 인수는 None
이고 sys.exc_info()
은 (None,None,None)
입니다. 이것은 docs에 설명되어 있습니다.
[return]
함수 (또는 다른 코드 블록)가 반환되기 직전입니다. 로컬 추적 함수가 호출됩니다. arg는 반환 될 값이거나 인 경우 None입니다. 예외 발생으로 인해 이벤트가 발생합니다. 추적 함수의 반환 값은 무시됩니다.
파이썬 3에서 추적자는 return
후크에서 예외가 전파되고 있다고 어떻게 판단 할 수 있습니까? None
을 정상적으로 반환하는 함수와 어떻게 구별 할 수 있습니까?
나는 떨리지 만 효과가 있습니다! 고맙습니다! https://github.com/williame/obiwan/commit/b67a9c02efb38ccad1aec417c324a1ceb8a9a46f – Will