課程
/后端開發
/Python
/初識Python
編譯器上輸出錯誤怎么說?
2018-05-09
源自:初識Python 8-1
正在回答
如果你在寫python程序時遇到異常后想進行如下處理的話,一般用try來處理異常,假設有下面的一段程序:
try
:
????
語句
1
2
.
語句N
except
.........:
do something .......
但是你并不知道"語句1至語句N"在執行會出什么樣的異常,但你還要做異常處理,且想把出現的異常打印出來,并不停止程序的運行,所以在"except ......"這句應怎樣來寫呢?
總結了一下3個方法:
方法一:捕獲所有異常
:??
a
=
b??
b
c??
Exception,e:??
print
Exception,
":"
,e
方法二:采用traceback模塊查看異常
#引入python中的traceback模塊,跟蹤錯誤
import
traceback??
traceback.print_exc()
方法三:采用sys模塊回溯最后的異常
#引入sys模塊
sys??
info
sys.exc_info()??
info[
0
],
,info[
]
但是,如果你還想把這些異常保存到一個日志文件中,來分析這些異常,那么請看下面的方法:
把 traceback.print_exc() 打印在屏幕上的信息保存到一個文本文件中
traceback
f
open
(
"c:log.txt"
,
'a'
)??
traceback.print_exc(
file
f)??
f.flush()??
f.close()
舉報
學python入門視頻教程,讓你快速入門并能編寫簡單的Python程序
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2018-05-09
python中try except處理程序異常的三種常用方法
如果你在寫python程序時遇到異常后想進行如下處理的話,一般用try來處理異常,假設有下面的一段程序:
try:????語句1????語句2????.????.????語句Nexcept?.........:????do something .......但是你并不知道"語句1至語句N"在執行會出什么樣的異常,但你還要做異常處理,且想把出現的異常打印出來,并不停止程序的運行,所以在"except ......"這句應怎樣來寫呢?
總結了一下3個方法:
方法一:捕獲所有異常
try:??????a=b??????b=c??except?Exception,e:??????print?Exception,":",e方法二:采用traceback模塊查看異常
#引入python中的traceback模塊,跟蹤錯誤import?traceback??try:??????a=b??????b=c??except:??????traceback.print_exc()方法三:采用sys模塊回溯最后的異常
#引入sys模塊import?sys??try:??????a=b??????b=c??except:??????info=sys.exc_info()??????print?info[0],":",info[1]但是,如果你還想把這些異常保存到一個日志文件中,來分析這些異常,那么請看下面的方法:
把 traceback.print_exc() 打印在屏幕上的信息保存到一個文本文件中
import?tracebacktry:??????a=b??????b=c??except:??????f=open("c:log.txt",'a')??????traceback.print_exc(file=f)??????f.flush()??????f.close()