婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > Python中的異常類型及處理方式示例詳解

Python中的異常類型及處理方式示例詳解

熱門標簽:百度地圖標注沒有了 西藏房產智能外呼系統要多少錢 ai電銷機器人源碼 長沙高頻外呼系統原理是什么 地圖標注審核表 外呼并發線路 宿遷星美防封電銷卡 ai電話機器人哪里好 湛江智能外呼系統廠家

前言

Python 是一種面向對象的、解釋型的、通用的、開源的腳本編程語言。現在市面上 Python 非常的流行,主要是因為它簡單易用,學習成本低,比如要實現某個功能,Python 可能只需要幾行代碼,而用C語言可能需要上百行代碼,因為C語言什么都要得從頭開始編碼,而 Python 已經內置了很多功能模塊,所以,我們只需要導入特定的包,就可以實現想要的效果。

正文

今天,我們主要來了解一下 Python 中的異常類型以及它們的處理方式。說到異常處理,我們首先要知道什么是異常。其實,異常就是一類事件,當它們發生時,會影響到程序的正常執行。

一、什么是異常

其實,異常就是一類事件,當此類事件在程序執行過程中發生時,就會影響程序的正常執行。一般情況下,在 Python 無法正常處理程序時就會發生一個異常,而異常是 Python 的一種對象類型,用來表示一個錯誤。當 Python 腳本發生異常時我們需要捕獲并處理它,否則程序就會終止。

二、異常的類型

Python 中定義了一些標準的異常類型,具體的異常名稱和對應的實際意義,我們可以通過下面的表格來了解。

異常名稱 描述
BaseException 所有異常的基類
SystemExit 解釋器請求退出
KeyboardInterrupt 用戶中斷執行(通常是輸入^C)
Exception 常規錯誤的基類
StopIteration 迭代器沒有更多的值
GeneratorExit 生成器(generator)發生異常來通知退出
StandardError 所有的內建標準異常的基類
ArithmeticError 所有數值計算錯誤的基類
FloatingPointError 浮點計算錯誤
OverflowError 數值運算超出最大限制
ZeroDivisionError 除(或取模)零 (所有數據類型)
AssertionError 斷言語句失敗
AttributeError 對象沒有這個屬性
EOFError 沒有內建輸入,到達EOF 標記
EnvironmentError 操作系統錯誤的基類
IOError 輸入/輸出操作失敗
OSError 操作系統錯誤
WindowsError 系統調用失敗
ImportError 導入模塊/對象失敗
LookupError 無效數據查詢的基類
IndexError 序列中沒有此索引(index)
KeyError 映射中沒有這個鍵
MemoryError 內存溢出錯誤(對于Python 解釋器不是致命的)
NameError 未聲明/初始化對象 (沒有屬性)
UnboundLocalError 訪問未初始化的本地變量
ReferenceError 弱引用(Weak reference)試圖訪問已經垃圾回收了的對象
RuntimeError 一般的運行時錯誤
NotImplementedError 尚未實現的方法
SyntaxError Python 語法錯誤
IndentationError 縮進錯誤
TabError Tab 和空格混用
SystemError 一般的解釋器系統錯誤
TypeError 對類型無效的操作
ValueError 傳入無效的參數
UnicodeError Unicode 相關的錯誤
UnicodeDecodeError Unicode 解碼時的錯誤
UnicodeEncodeError Unicode 編碼時錯誤
UnicodeTranslateError Unicode 轉換時錯誤
Warning 警告的基類
DeprecationWarning 關于被棄用的特征的警告
FutureWarning 關于構造將來語義會有改變的警告
OverflowWarning 舊的關于自動提升為長整型(long)的警告
PendingDeprecationWarning 關于特性將會被廢棄的警告
RuntimeWarning 可疑的運行時行為(runtime behavior)的警告
SyntaxWarning 可疑的語法的警告
UserWarning 用戶代碼生成的警告

其實,在上述表格中列出的異常中,也具備一定的層次關系,我們可以通過下圖來了解一下。

三、異常處理

在實際開發過程中,我們需要寫出健壯性的程序,不希望我們的程序在執行過程中遇到了異常就自動終止。因此,我們需要處理程序執行過程中的異常事件,從而保證程序不會因為發生異常而終止。在編碼過程中,我們可以簡單使用 try/except 語句來捕捉異常,具體語法如下:

try:
語句>        # 運行別的代碼
except 異常類型:
語句>        # 如果在try部份引發了異常
else:
語句>        # 如果沒有異常發生

熟悉 Java 的小伙伴都知道,在 Java 中是通過 try...catch 語句來捕獲代碼中的異常事件的,在 Python 中使用什么呢?

其實,在 Python 中是使用 try...except 語句用來捕獲異常,通過監視 try 語句塊中的錯誤,從而讓 except 語句捕獲異常信息并進行處理。

因此,如果你不想在異常發生時結束你的程序,就需要在 try 語句塊中捕獲相應的異常。

接下來,我們通過一個代碼實例來具體了解一下 try...except 的用法。

代碼實例:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
try:
    fh = open("test.txt", "r")
    fh.write("這是一個測試文件,用于測試Python中的異常!")
except IOError:
    print "Error: 寫入文件失敗"
else:
    print "內容寫入文件成功"
    fh.close()

上述代碼的意思是以可讀模式打開一個 test.txt 文件,然后向文件中寫入一段話:這是一個測試文件,用于測試Python中的異常! 因為文件是以可讀模式打開的,所以沒有寫入權限,肯定會出錯,但是因為是在 try 代碼塊中,肯定會被對應的IO錯誤類型捕獲,并輸入提示信息:Error:寫入文件失敗。

運行結果:

然后,我們修改代碼,以寫模式打開文件再寫入對應的語句,修改后代碼如下:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
try:
    fh = open("test.txt", "w")
    fh.write("這是一個測試文件,用于測試Python中的異常!")
except IOError:
    print "Error: 寫入文件失敗"
else:
    print "內容寫入文件成功"
    fh.close()

這時,我們發現文件能夠正常寫入內容了,并且不會觸發異常事件發生。

運行結果:

四、try 介紹

try 的工作原理是,當開始一個 try 語句后,python 就在當前程序的上下文中作標記,這樣當異常出現時就可以回到這里,try 子句先執行,接下來會發生什么依賴于執行時是否出現異常。大致的情況可以分為兩種,一種是觸發了異常,另一種是沒有觸發異常,具體表現如下:

1. 如果當 try 后的代碼里發生了異常,python 就跳回到 try 并執行第一個匹配該異常的 except 子句,異常處理完畢,控制流就通過整個 try 語句。

2. 如果在 try 后的代碼里沒有發生異常,python將執行else語句后的語句,然后控制流通過整個try語句。

其實,上面的代碼實例很好的覆蓋了這兩種情況。

五、finally 介紹

finally 語句塊中的內容,無論程序是否發生了異常都執行。這一點和 Java 是類似的,具體我們來看一段代碼:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
try:
    fh = open("test.txt", "r")
    fh.write("這是一個測試文件,用于測試Python中的異常!")
except IOError:
    print "Error: 寫入文件失敗"
else:
    print "內容寫入文件成功"
    fh.close()
finally:
    print "異常發生了,執行finally代碼塊"

上述代碼在原來的基礎上增加了 finally 代碼塊,發生了異常,依然會執行 finally 代碼塊。同樣,即使沒有觸發異常,也會執行相應的 finally 代碼塊。感興趣的小伙伴可以自己動手試一下,這里就不演示了。

運行結果:

六、raise 介紹

在 Java 中,我們可以使用 throw 語句主動拋出異常,那么在 Python 中,是否也有類似的關鍵字呢?答案是肯定的。接下來,我們就來了解一下 raise 關鍵字。在編碼過程中,我們可以使用 raise 語句主動觸發異常。具體的語法可以參考如下格式:

raise [Exception [, args [, traceback]]]

需要注意的是語句中 Exception 是異常的類型(例如,IOError、OSError),參數標準異常中任意一種,參數 args 是自已提供的異常參數。最后一個參數 trackback 是可選的,一般為空。

實例代碼:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
 
try:
    fh = open("test.txt", "w")
    fh.write("這是一個測試文件,用于測試Python中的異常!")
except IOError:
    print "Error: 寫入文件失敗"
else:
    print "內容寫入文件成功"
    try:
	print "拋出自定義異常"
    	raise Exception("這是一個自定義異常事件")
    except:
	print "自定義異常事件被捕獲"
    fh.close()
 
finally:
    print "自定義異常發生了,執行finally代碼塊"

運行結果:

結尾

好了,今天關于 Python 的介紹就到這里吧,本文主要分享了 Python 中的異常類型以及異常發生時的處理方法,Python 簡單易用,感興趣的小伙可以自己試試呦!

到此這篇關于Python中的異常類型及處理方式的文章就介紹到這了,更多相關Python異常類型內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!

您可能感興趣的文章:
  • Python 異常處理總結
  • 分析解決Python中sqlalchemy數據庫連接池QueuePool異常
  • python之pyinstaller組件打包命令和異常解析實戰
  • 常見的Python異常及處理方法總結
  • Python保姆式手把手帶你掌握異常的捕獲和處理

標簽:南平 寧夏 林芝 大同 普洱 漯河 海南 盤錦

巨人網絡通訊聲明:本文標題《Python中的異常類型及處理方式示例詳解》,本文關鍵詞  Python,中的,異常,類型,及,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《Python中的異常類型及處理方式示例詳解》相關的同類信息!
  • 本頁收集關于Python中的異常類型及處理方式示例詳解的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    亚洲免费电影在线| 91精品国产综合久久香蕉麻豆| 蜜桃视频一区二区| 久久9热精品视频| 色综合色综合色综合色综合色综合 | 欧美国产在线观看| 亚洲v日本v欧美v久久精品| 午夜精品久久久久久久蜜桃app| 色婷婷综合久久久久中文一区二区| 人禽交欧美网站| 亚洲成a人片在线不卡一二三区| 亚洲国产精品二十页| 久久久.com| 国产欧美精品一区二区色综合朱莉 | 国产99久久久久| 91福利视频久久久久| 综合久久给合久久狠狠狠97色| 亚洲妇熟xx妇色黄| 不卡av电影在线播放| 亚洲午夜三级在线| 久久精品亚洲一区二区三区浴池 | 国产欧美一区二区精品久导航| 精品一区二区免费视频| 欧美国产精品劲爆| 日韩视频一区二区在线观看| 日韩一区欧美小说| 狠狠色综合播放一区二区| 国产精品女同一区二区三区| 在线亚洲高清视频| 99精品1区2区| 一区二区三区国产精品| 亚洲欧洲国产日本综合| 一区二区三区免费看视频| 一区二区三区四区在线免费观看| 国产精品萝li| 亚洲一区二区av在线| 久久国产剧场电影| 成人黄色小视频| 欧美精选午夜久久久乱码6080| 欧美片网站yy| 亚洲自拍都市欧美小说| 欧美人动与zoxxxx乱| zzijzzij亚洲日本少妇熟睡| 精品国产亚洲在线| 成人一道本在线| 久久久久久久网| 99re这里只有精品视频首页| 日本强好片久久久久久aaa| 91精品国产欧美一区二区成人 | 久久精品亚洲精品国产欧美kt∨| 26uuuu精品一区二区| 日本在线播放一区二区三区| 日韩精品中文字幕在线一区| 国产精品中文欧美| 日韩成人精品在线观看| 国产精品美女久久久久久久久久久| 欧美一区午夜视频在线观看| proumb性欧美在线观看| 亚洲精品午夜久久久| 麻豆精品一区二区av白丝在线| 久久午夜国产精品| 成人欧美一区二区三区1314| 国产精品网友自拍| 亚洲成人黄色小说| 久久激情五月激情| 自拍偷拍欧美精品| 风间由美性色一区二区三区| 久久夜色精品国产噜噜av| 久久9热精品视频| 亚洲欧洲综合另类| 久久美女艺术照精彩视频福利播放| 青青草原综合久久大伊人精品优势| 日韩一级视频免费观看在线| jlzzjlzz亚洲女人18| 国产精品1区2区3区在线观看| 精品亚洲国内自在自线福利| 中文字幕在线免费不卡| 26uuu亚洲综合色欧美 | 国产一区二区三区在线观看免费视频 | 蜜臀久久99精品久久久画质超高清| 一区二区欧美国产| 国产精品色哟哟| 国产精品理论片| 一区二区三区毛片| 亚洲精品v日韩精品| 怡红院av一区二区三区| 午夜精品久久久久久久久| 舔着乳尖日韩一区| 不卡在线观看av| 成人免费看黄yyy456| 91论坛在线播放| 色婷婷av一区二区三区软件 | 亚洲一区二三区| 亚洲精品国产成人久久av盗摄| 午夜一区二区三区在线观看| 麻豆成人av在线| 成人激情动漫在线观看| 7777精品伊人久久久大香线蕉的 | 国产精品久久夜| 亚洲一级电影视频| 国产精品资源网| 欧美三级电影网站| 国产亚洲va综合人人澡精品| 亚洲色图清纯唯美| 日本91福利区| 欧美私模裸体表演在线观看| 中文字幕免费不卡| 蜜臀av一区二区在线观看| 99久久免费视频.com| 欧美一区二区三区免费在线看| 成人欧美一区二区三区1314| 久久99国产精品久久99| 欧美网站大全在线观看| 国产色91在线| 久久9热精品视频| 日韩欧美在线网站| 亚洲成人激情自拍| 色婷婷av一区二区三区之一色屋| 久久久久久久一区| 蜜桃视频免费观看一区| 欧美视频一区二区三区在线观看| 国产精品入口麻豆九色| 国模一区二区三区白浆 | 成人激情图片网| 久久免费的精品国产v∧| 婷婷综合在线观看| 91久久精品网| 91精品国产综合久久久蜜臀图片| 久久影院午夜片一区| 成人精品视频一区二区三区 | 国产精品久线观看视频| 色婷婷香蕉在线一区二区| 大胆亚洲人体视频| 天天综合色天天综合| 九九热在线视频观看这里只有精品| 97久久超碰国产精品| 欧美午夜宅男影院| 国产精品国产三级国产专播品爱网| 亚洲精品乱码久久久久| 毛片av一区二区| 91超碰这里只有精品国产| 一片黄亚洲嫩模| 蜜桃视频第一区免费观看| 国产精品一区一区三区| 日韩欧美一区二区在线视频| 欧美激情一区三区| 色综合一个色综合| 国产欧美日韩精品一区| 久国产精品韩国三级视频| 欧美一区三区四区| 五月婷婷激情综合| 日本精品一区二区三区高清| 一区二区三区**美女毛片| 欧美性受xxxx| 青草国产精品久久久久久| 精品国产一区二区在线观看| 韩国女主播一区| 精品1区2区在线观看| 国产精品18久久久久| 国产精品成人免费| 国产福利91精品| 色综合天天综合给合国产| 色偷偷成人一区二区三区91| 久久综合九色欧美综合狠狠 | 69堂亚洲精品首页| 日本不卡一区二区| 久久久久久久国产精品影院| 国产高清一区日本| 国产农村妇女精品| 色88888久久久久久影院按摩| 亚洲第一久久影院| 日韩精品资源二区在线| 国产日本欧美一区二区| 亚洲图片一区二区| av一区二区三区| 日韩精品视频网站| 国产精品不卡在线观看| 欧美美女一区二区三区| 日韩福利电影在线| 久久丝袜美腿综合| 国产成人午夜精品影院观看视频| 亚洲男人的天堂在线aⅴ视频| 欧美一级专区免费大片| 99精品一区二区| 日韩在线a电影| 国产精品三级在线观看| 日韩精品综合一本久道在线视频| 高清在线不卡av| 丝袜亚洲另类欧美| 亚洲免费观看高清完整| 亚洲精品一区二区三区影院| 在线观看不卡视频| 成人一级片在线观看| 狠狠色伊人亚洲综合成人| 一区二区三区在线免费视频| 精品久久久久香蕉网| 欧美日韩国产a| 色狠狠色噜噜噜综合网| 国产传媒日韩欧美成人| 久久国内精品自在自线400部|