settrace
Python 2.xでは、ハンドラーに渡されるフレームオブジェクトにf_exc_type
属性がありました。
Python 3.xでは、これf_exc_type
は削除されました。
関数が例外を伝播している場合、トレース'return'が呼び出されますが、引数はNone
であり、sys.exc_info()
です(None,None,None)
。これはドキュメントで説明されています:
[return]
関数(または他のコードブロック)が返されようとしています。ローカルトレース関数が呼び出されます。argは返される値であり、イベントが発生した例外によって発生した場合はNoneです。トレース関数の戻り値は無視されます。
return
Python 3では、例外が伝播されていることをトレーサーがフックでどのように判断できますか?正常に戻る関数とどのように区別できNone
ますか?