Python入門教程(三十一)Python的Try和Except
可以使用try語句處理這些異常,需要的朋友可以參考下
try 塊允許您測試代碼塊以查找錯誤。
except 塊允許您處理錯誤。
finally 塊允許您執(zhí)行代碼,無論 try 和 except 塊的結(jié)果如何。
異常處理
當我們調(diào)用 Python 并發(fā)生錯誤或異常時,通常會停止并生成錯誤消息。
可以使用 try 語句處理這些異常:
實例
try 塊將生成異常,因為 x 未定義:
try:
print(x)
except:
print("An exception occurred")運行實例

由于 try 塊引發(fā)錯誤,因此會執(zhí)行 except 塊。
如果沒有 try 塊,程序?qū)⒈罎⒉⒁l(fā)錯誤:
實例
該語句將引發(fā)錯誤,因為未定義 x:
print(x)
多個異常
您可以根據(jù)需要定義任意數(shù)量的 exception 塊,例如,假如您要為特殊類型的錯誤執(zhí)行特殊代碼塊:
實例
如果 try 塊引發(fā) NameError,則打印一條消息,如果是其他錯誤則打印另一條消息:
try:
print(x)
except NameError:
print("Variable x is not defined")
except:
print("Something else went wrong")運行實例

Else
如果沒有引發(fā)錯誤,那么您可以使用 else 關(guān)鍵字來定義要執(zhí)行的代碼塊:
實例
在本例中,try 塊不會生成任何錯誤:
try:
print("Hello")
except:
print("Something went wrong")
else:
print("Nothing went wrong")運行實例

Finally
如果指定了 finally 塊,則無論 try 塊是否引發(fā)錯誤,都會執(zhí)行 finally 塊。
實例
try:
print(x)
except:
print("Something went wrong")
finally:
print("The 'try except' is finished")運行實例

這對于關(guān)閉對象并清理資源非常有用
實例
試圖打開并寫入不可寫的文件:
try:
f = open("demofile.txt")
f.write("Lorum Ipsum")
except:
print("Something went wrong when writing to the file")
finally:
f.close()運行實例

程序可以繼續(xù),而且不會打開文件對象。
引發(fā)異常
作為 Python 開發(fā)者,您可以選擇在條件發(fā)生時拋出異常。
如需拋出(引發(fā))異常,請使用 raise 關(guān)鍵詞。
實例
假如 x 小于 0,則引發(fā)異常并終止程序:
x = -1
if x < 0:
raise Exception("Sorry, no numbers below zero")運行實例

raise 關(guān)鍵字用于引發(fā)異常。
你能夠定義所引發(fā)異常的類型、以及打印給用戶的文本。
實例
如果 x 不是整數(shù),則引發(fā) TypeError:
x = "hello"
if not type(x) is int:
raise TypeError("Only integers are allowed")運行實例

到此這篇關(guān)于Python入門教程(三十一)Python的Try和Except的文章就介紹到這了,更多相關(guān)Python的Try和Except內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python使用__new__()方法為對象分配內(nèi)存及返回對象的引用示例
這篇文章主要介紹了Python使用__new__()方法為對象分配內(nèi)存及返回對象的引用,結(jié)合實例形式分析了Python對象初始化及內(nèi)存操作相關(guān)使用技巧,需要的朋友可以參考下2019-09-09
python list等分并從等分的子集中隨機選取一個數(shù)
這篇文章主要介紹了python list等分并從等分的子集中隨機選取一個數(shù),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
python創(chuàng)建學(xué)生管理系統(tǒng)
這篇文章主要為大家詳細介紹了python創(chuàng)建學(xué)生管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2019-11-11
Python3環(huán)境安裝Scrapy爬蟲框架過程及常見錯誤
這篇文章主要介紹了Python3環(huán)境安裝Scrapy爬蟲框架過程及常見錯誤 ,本文給大家介紹的非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下2019-07-07
Pandas merge合并兩個DataFram的實現(xiàn)
本文主要介紹了Pandas merge合并兩個DataFram的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03
Python學(xué)習(xí)開發(fā)之圖形用戶界面詳解
當前流行的計算機桌面應(yīng)用程序大多數(shù)為圖形化用戶界面(Graphic User Interface,GUI),python也提供了多個圖形開發(fā)界面的庫,這篇文章主要給大家介紹了關(guān)于Python學(xué)習(xí)開發(fā)之圖形用戶界面的相關(guān)資料,需要的朋友可以參考下2021-08-08

