簡體   English   中英

python中的堆棧跟蹤和異常處理

[英]stack trace and exception handling in python

我想設計一個處理其他程序中異常的python程序,我也希望它能夠訪問python中的堆棧跟蹤。 我是python的新開發人員,但願意學習,但是我沒有前進方向的指導。 有人可以為我指出一個可以遵循並可能發展這些技能的方向/資源,尤其是我應該學習的實現目標的方法。

我想在python 2.7上開發

謝謝你的回復。

編輯:通過處理異常,我只想知道發生了什么異常。 就像在Java中使用try catch塊一樣,您可以在其中打印出堆棧跟蹤並查看它是否是算術/數組超出范圍錯誤

嗨,我也在想這條線上的東西

  try

 (Execute python program here)  // ie import this program 

 except : 1st exception
 except : 2nd exception
 .
 .
 etc

我知道如何從文件中讀取內容,但是不確定僅執行其他人編寫的程序是否正確?

看一下追溯模塊。 它格式化並打印堆棧跟蹤。 您可以使用這是頂級異常處理程序。

import sys
import traceback

try:
    do_something()
except:
    ex, val, tb = sys.exc_info()
    traceback.print_exception(ex, val, tb)

Python本身實際上對任何未捕獲的異常執行此操作,然后退出。

我對你的問題有些困惑; 如果您僅運行其他python代碼,這將是自動的。 您無需讀取任何文件,只需導入要使用的python模塊並調用它們的函數即可。 當這些拋出異常時,它們只會最終出現在您的代碼中,並且您可以根據需要處理它們,並考​​慮到有關異常防范的最佳實踐。

有關python異常的快速教程,請參見此處

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM