python中try Except拋出異常的使用方式
對于python自動化測試同學(xué)來講try的作用太大了。
我們要保證每條用例都能得到我們預(yù)期并在測試報告中給出正確的pass或fail的結(jié)果
就可以通過try語句來很好的實(shí)現(xiàn),并且能保證這個pass或fail的結(jié)果是真實(shí)的。
一、try語句
通常我們會用下面的格式:
這里當(dāng)xxxx1成立時就執(zhí)行else下的xxxx3語句;
當(dāng)xxxx1不成立時就執(zhí)行except下的xxxx2語句
不管xxxx1是否成立,finally下的語句都會被執(zhí)行到
以上的這些格式就可以用在我們用例的判斷場景中,從而得到pass或fail的結(jié)果
二、except類型(拋出異常的類型)
1、 捕獲所有異常
try: xxxx1 except Exception as e: print(e) #打印所有異常到屏幕
2、 捕獲類型的異常
try: xxxx1 except TypeError as e: print(e) #打印類型異常到屏幕
有很多異常的類型,有可以自己寫一個自己的異常類,然后來調(diào)用。
異常類型:
異常名稱 | 描述 |
BaseException | 所有異常的基類 |
SystemExit | 解釋器請求退出 |
KeyboardInterrupt | 用戶中斷執(zhí)行(通常是輸入^C) |
Exception | 常規(guī)錯誤的基類 |
StopIteration | 迭代器沒有更多的值 |
GeneratorExit | 生成器(generator)發(fā)生異常來通知退出 |
SystemExit | Python 解釋器請求退出 |
StandardError | 所有的內(nèi)建標(biāo)準(zhǔn)異常的基類 |
ArithmeticError | 所有數(shù)值計(jì)算錯誤的基類 |
FloatingPointError | 浮點(diǎn)計(jì)算錯誤 |
OverflowError | 數(shù)值運(yùn)算超出最大限制 |
ZeroDivisionError | 除(或取模)零 (所有數(shù)據(jù)類型) |
AssertionError | 斷言語句失敗 |
AttributeError | 對象沒有這個屬性 |
EOFError | 沒有內(nèi)建輸入,到達(dá)EOF 標(biāo)記 |
EnvironmentError | 操作系統(tǒng)錯誤的基類 |
IOError | 輸入/輸出操作失敗 |
OSError | 操作系統(tǒng)錯誤 |
WindowsError | 系統(tǒng)調(diào)用失敗 |
ImportError | 導(dǎo)入模塊/對象失敗 |
KeyboardInterrupt | 用戶中斷執(zhí)行(通常是輸入^C) |
LookupError | 無效數(shù)據(jù)查詢的基類 |
IndexError | 序列中沒有沒有此索引(index) |
KeyError | 映射中沒有這個鍵 |
MemoryError | 內(nèi)存溢出錯誤(對于Python 解釋器不是致命的) |
NameError | 未聲明/初始化對象 (沒有屬性) |
UnboundLocalError | 訪問未初始化的本地變量 |
ReferenceError | 弱引用(Weak reference)試圖訪問已經(jīng)垃圾回收了的對象 |
RuntimeError | 一般的運(yùn)行時錯誤 |
NotImplementedError | 尚未實(shí)現(xiàn)的方法 |
SyntaxError | Python 語法錯誤 |
IndentationError | 縮進(jìn)錯誤 |
TabError | Tab 和空格混用 |
SystemError | 一般的解釋器系統(tǒng)錯誤 |
TypeError | 對類型無效的操作 |
ValueError | 傳入無效的參數(shù) |
UnicodeError | Unicode 相關(guān)的錯誤 |
UnicodeDecodeError | Unicode 解碼時的錯誤 |
UnicodeEncodeError | Unicode 編碼時錯誤 |
UnicodeTranslateError | Unicode 轉(zhuǎn)換時錯誤 |
Warning | 警告的基類 |
DeprecationWarning | 關(guān)于被棄用的特征的警告 |
FutureWarning | 關(guān)于構(gòu)造將來語義會有改變的警告 |
OverflowWarning | 舊的關(guān)于自動提升為長整型(long)的警告 |
PendingDeprecationWarning | 關(guān)于特性將會被廢棄的警告 |
RuntimeWarning | 可疑的運(yùn)行時行為(runtime behavior)的警告 |
SyntaxWarning | 可疑的語法的警告 |
UserWarning | 用戶代碼生成的警告 |
總結(jié)
以上為個人經(jīng)驗(yàn),希望能給大家一個參考,也希望大家多多支持腳本之家。
- python try except 捕獲所有異常的實(shí)例
- Python使用try except處理程序異常的三種常用方法分析
- Python異常處理:try、except、else、finally的全面解析
- 對python中的try、except、finally 執(zhí)行順序詳解
- Python中的異常處理try/except/finally/raise用法分析
- python try except返回異常的信息字符串代碼實(shí)例
- python嵌套try...except如何使用詳解
- Python try except else使用詳解
- Python中 try / except / else / finally 異常處理方法詳解
相關(guān)文章
控制Python浮點(diǎn)數(shù)輸出位數(shù)的操作方法
在python的輸出結(jié)果中,尤其是浮點(diǎn)數(shù)的輸出,當(dāng)我們需要寫入文本文件時,最好是采用統(tǒng)一的輸出格式,這樣也能夠增強(qiáng)結(jié)果的可讀性,這篇文章主要介紹了控制Python浮點(diǎn)數(shù)輸出位數(shù)的方法,需要的朋友可以參考下2022-04-04Python集合魔法解鎖數(shù)據(jù)去重技巧應(yīng)用實(shí)例
這篇文章主要為大家介紹了Python集合魔法解鎖數(shù)據(jù)去重技巧應(yīng)用實(shí)例,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-11-11python中with語句結(jié)合上下文管理器操作詳解
這篇文章主要給大家介紹了關(guān)于python中with語句結(jié)合上下文管理器操作的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對大家學(xué)習(xí)或者使用python具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-12-12