python 異常處理

2021-08-29 07:27:30 字數 2411 閱讀 7618

1.異常的概念

程式開發時,很難講所有的特殊情況都處理的面面俱到,通過異常捕獲可以針對突發事件做集中的處理,從而保證程式的穩定性和健壯性

2.捕獲異常

2.1簡單的捕獲異常語法

在程式開發中,如果對某些**的執行不能確定是否正確,可以增加try(嘗試)來捕獲異常

捕獲異常簡單的格式:

try:

嘗試執行的**

except:

出現錯誤的處理

try 嘗試下方編寫要嘗試的**,不確定是否能夠正常執行

except  如果不是,下方編寫嘗試失效

try:

num=int(input("請輸入整數:"))

except:

print("請重新輸入正確的整數:")

2.2錯誤型別捕獲

在程式執行時,可能會遇到不同型別的異常,並且需要針對不同型別的異常,做出不同的響應,這個時候,就需要捕獲錯誤型別了

語法:

try:

# 嘗試執行的**

pass

except 錯誤型別1:

# 針對錯誤型別1,對應的**處理

pass

except 錯誤型別2:

# 針對錯誤型別2,對應的**處理

pass

except exception as result:

print("未知錯誤 %s" % result)

捕獲未知錯誤:

在開發時,要預判到所有可能出現的錯誤,還是有一定難度的

如果希望程式無論出現任何錯誤,都不會因為 python直譯器丟擲異常而被終止,可以增加乙個except

語法結構:

except exception as result:

print("未知錯誤 %s" % result)

2.3捕獲異常完整**

在實際開發中,為了能夠處理複雜的異常情況,

try:

# 嘗試執行的**

pass

except 錯誤型別1:

# 針對錯誤型別1,對應的**處理

pass

except 錯誤型別2:

# 針對錯誤型別2,對應的**處理

pass

except exception as result:

print("未知錯誤 %s" % result)

else:

# 沒有異常才會執行的**

pass

finally:

# 無論是否有異常,都會執行的**

print("無論是否有異常,都會執行的**")

3.異常的傳遞

異常的傳遞------當函式/方法執行出現異常,會將異常傳遞給函式、方法的呼叫一方

如果傳遞到主程式,仍然沒有異常處理,程式才會被終止

在程式開發中,可以在主程式中增加異常捕獲

而在主函式中呼叫的其他函式,只要出現異常,都會傳遞到主函式的異常捕獲中

這樣就不需要在**中增加大量的異常捕獲,能夠保證**的整潔

def demo1():

return int(input("輸入整數:"))

def demo2():

return demo1()

try:

# 利用異常的傳遞性,在主程式捕獲異常

print(demo2())

except exception as result:

print("未知異常%s"% result)

4.丟擲異常raise異常

python中提供了乙個exception異常類,在開發時,如果滿足特定業務需求時,希望丟擲異常,可以:

1.建立乙個exception的物件

2.使用raise關鍵字丟擲異常物件

def input_password():

# 1提示使用者輸入密碼

pwd=input("請輸入密碼:")

# 2.判斷密碼長度》=8,返回使用者輸入的密碼

if len(pwd)>=8:

return pwd

# 3.如果<8 主動丟擲異常

print("主動丟擲異常")

# 建立異常物件,可以使用字串資訊作為引數

ex=exception("密碼長度不夠")

# 主動丟擲異常

raise ex

#提示使用者輸入密碼

try:

print(input_password())

except exception as result:

print(result)

python異常處理 Python 異常處理

使用者輸入不完整 比如輸入為空 或者輸入非法 輸入不是數字 異常就是程式執行時發生錯誤的訊號,在python中,錯誤觸發的異常如下 在python中不同的異常可以用不同的型別 python中統一了類與型別,型別即類 去標識,不同的類物件標識不同的異常,乙個異常標識一種錯 觸發indexerror 觸...

python異常舉例 Python異常處理

1.1異常問題舉例 例一 i input 請輸入數字 請輸入數字 0 print i print 5 int i traceback most recent call last file line 1,in zerodivisionerror division by zero 上述 的報錯是除零的錯...

python異常處理

當你的程式中出現異常情況時就需要異常處理。比如當你開啟乙個不存在的檔案時。當你的程式中有一些無效的語句時,python會提示你有錯誤存在。下面是乙個拼寫錯誤的例子,print寫成了print。python是大小寫敏感的,因此python將引發乙個錯誤 print hello world file l...