[英]Python: how to control namespace after an unhandled exception?
有沒有辦法控制在未處理的異常之后你最終會進入哪個命名空間?
例如,在 IPython 提示符下,對包含以下內容的文件run myscript.py
:
def spam():
ham = "ham"
crash = 1/0
eggs = "eggs"
if __name__ == '__main__':
foo = "foo"
spam()
它因零除法而崩潰,並返回到 IPython 提示符,現在名稱空間中有foo
,但沒有ham
。 對於一些事后檢查,我想返回 function spam()
的 scope 中的解釋器(即ham
可用, eggs
和foo
不可用)。
我們可以使用pdb.set_trace()
訪問這些內容並重新運行代碼,但如果有一個快捷方式可以退回一幀,那就太好了。
您可以通過鍵入%pdb
在 ipython 提示符中啟用 pdb 的自動調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.