Python 異常是程序執行過程中可能遇到的錯誤情況,它們會打破正常的程序執行流程。在處理異常時,Python 會嘗試查找引發異常的位置,通常會在錯誤信息中提供所在的行數和代碼位置。
try: # 代碼塊 A except ErrorType: # 異常處理代碼
在上面的例子中,try 塊中的代碼 A 可能引發一個特定類型的異常。當異常發生時,Python 解釋器會跳轉到 except 塊開始處理異常,并且記錄異常所在的行數信息。在處理異常時,我們可以通過捕獲錯誤出現的行數,快速定位問題所在。
除了顯示行數,Python 也會顯示異常發生時的代碼位置。下面的例子中,我們意外地調用了 a() 函數,引發了一個 NameError 異常。
def a(): print(b) try: a() except NameError as error: print(f"異常行數:{error.__traceback__.tb_lineno}") print(f"異常信息:{error}")
在這個例子中,我們捕獲了 NameError 異常,并通過 error.__traceback__.tb_lineno 獲取異常所在的行數。當程序運行到 a() 函數時,會依次打印其內部的代碼,包括 print(b)。在輸出異常信息時,Python 也會顯示代碼位置:NameError: name 'b' is not defined (發生在行 2),這有助于我們更快速地理解代碼的執行流程。
以上就是 Python 異常中包含所在行數的用法,通常在開發過程中,是一個非常有幫助的工具。
上一篇python 高斯插值