国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python使用try except處理程序異常的三種常用方法分析

2020-02-15 22:54:51
字體:
來源:轉載
供稿:網友

本文實例講述了Python使用try except處理程序異常的三種常用方法。分享給大家供大家參考,具體如下:

如果你在寫python程序時遇到異常后想進行如下處理的話,一般用try來處理異常,假設有下面的一段程序:

try:  語句1  語句2  .  .  語句Nexcept .........:  do something .......

但是你并不知道"語句1至語句N"在執行會出什么樣的異常,但你還要做異常處理,且想把出現的異常打印出來,并不停止程序的運行,所以在"except ......"這句應怎樣來寫呢?

總結了一下3個方法:

方法一:捕獲所有異常

try:  a=b  b=cexcept Exception,e:  print Exception,":",e

測試結果:

<type 'exceptions.Exception'> : name 'b' is not defined

方法二:采用traceback模塊查看異常

#引入python中的traceback模塊,跟蹤錯誤import tracebacktry:  a=b  b=cexcept:  traceback.print_exc()

方法三:采用sys模塊回溯最后的異常

#引入sys模塊import systry:  a=b  b=cexcept:  info=sys.exc_info()  print info[0],":",info[1]

運行結果:

<type 'exceptions.NameError'> : name 'b' is not defined

但是,如果你還想把這些異常保存到一個日志文件中,來分析這些異常,那么請看下面的方法:

把 traceback.print_exc() 打印在屏幕上的信息保存到一個文本文件中

import tracebacktry:  a=b  b=cexcept:  f=open("c:/log.txt",'a')  traceback.print_exc(file=f)  f.flush()  f.close()

此時C盤根目錄下生成一個log.txt文件,內容如下:

Traceback (most recent call last):
  File "C:/py/jb51PyDemo/src/Demo/test.py", line 3, in <module>
    a=b
NameError: name 'b' is not defined

更多Python相關內容感興趣的讀者可查看本站專題:《Python入門與進階經典教程》、《Python字符串操作技巧匯總》、《Python列表(list)操作技巧總結》、《Python編碼操作技巧總結》、《Python數據結構與算法教程》、《Python函數使用技巧總結》及《Python文件與目錄操作技巧匯總》

希望本文所述對大家Python程序設計有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 襄樊市| 苍溪县| 和平区| 新兴县| 湘阴县| 漠河县| 新密市| 海盐县| 锦屏县| 蒲城县| 乌鲁木齐县| 浮山县| 武陟县| 西昌市| 中山市| 罗平县| 康马县| 两当县| 泸州市| 龙泉市| 四平市| 弥渡县| 山阴县| 汉寿县| 仁寿县| 潼南县| 德阳市| 揭东县| 绵竹市| 渝北区| 长治市| 进贤县| 荆门市| 孙吴县| 阿巴嘎旗| 三原县| 商南县| 吴江市| 连城县| 漳浦县| 东明县|