[英]How can i get out the error line text in python exceptions?
我可以從<string > 文件名中獲取行文本嗎?
示例代碼:
exec("""
print()
0 / 0
""")
輸出 :
Traceback (most recent call last):
File "/data/data/com.termux/files/home/p.py", line 1, in <module>
exec("""
File "<string>", line 3, in <module>
ZeroDivisionError: division by zero
我需要得到這條線:
0 / 0
我會這樣寫
try:
exec("")
except Exception as e:
# Somthing like this
print(e.linetext)
我知道我可以在字符串中編寫 exec 代碼並從錯誤中讀取 lineno 並從 exec 代碼字符串中檢查行但是在我的項目中我必須使用 exec 啟動大代碼,這意味着這將導致文件增加尺寸,我需要另一種方式拋出異常請和謝謝✨♥️
使用traceback
模塊
這是實現相同結果的另一種方法
import sys, os
try:
raise NotImplementedError("No error")
except Exception as e:
exc_type, exc_obj, exc_tb = sys.exc_info()
print(exc_tb.tb_lineno)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.