python中的異常

2021-10-05 14:45:20 字數 3085 閱讀 7387

title

date

br#python中的異常

2019-09-06 08:10:12 -0700

python物件導向

python

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

try:

嘗試執行的**

except:

出現錯誤的處理

執行後會繼續執行下方的**

try:

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

except:

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

print("繼續執行了下方**")

執行程式:使用者輸入了aaa,無法轉化為整數

請輸入乙個整數: aaa

請輸入正確的整數

繼續執行了下方**

try:

#嘗試執行的**

pass

except 錯誤型別1:

#針對型別1處理

pass

except (錯誤型別2, 錯誤型別3):

#針對型別2和3處理

pass

# 捕獲未知錯誤,可以改變result的名字

except exception as result:

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

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

result = 10/num

print(result)

執行程式,使用者輸入0

請輸入乙個整數: 0

traceback (most recent call last):

file "/home/duguosheng/pycharmprojects/190902/d2_excpt.py", line 3, in result = 10/num

zerodivisionerror: division by zero

zerodivisionerror就是輸入零時的錯誤型別,同理可得,輸入字母時的錯誤型別是valueerror

try:

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

result = 10 / num

print(result)

except zerodivisionerror:

print("請不要輸入0作為除數")

except valueerror:

print("請輸入數字")

try:

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

result = 10 / num

print(result)

except valueerror:

print("請輸入數字")

# 捕獲未知異常

except exception as result:

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

使用者輸入0

請輸入乙個整數: 0

未知錯誤 division by zero

try:

pass

except 錯誤型別1:

pass

except (錯誤型別2, 錯誤型別3):

pass

except exception as result:

print(result)

else:

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

pass

finally:

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

pass

開發中可以在主函式中增加異常捕獲,這樣就可以大大減少異常捕獲**,使**整潔

def test1():

return 10/int(input("請輸入乙個整數: "))

def test2():

return test1()

#只在主函式中增加異常捕獲

try:

print(test2())

except exception as result:

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

輸入0

請輸入乙個整數: 0

未知錯誤 division by zero

當前函式只負責某項功能,主動丟擲異常後,讓其他函式再處理

例項

def test():

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

if num > 0:

return 10/num

#主動丟擲異常

exception = exception("請不要輸入0")

raise exception

#只在主函式中增加異常捕獲

try:

print(test())

except exception as result:

print(result)

輸入0

請輸入乙個整數: 0

請不要輸入0

python中異常語句 python 異常

導航 python的異常分為兩種,1 語法錯誤,在python直譯器的語法檢測中不通過不能執行 2 異常,python程式執行期檢測到的錯誤被稱為異常。在沒有做異常處理時,將終止程式並提示異常資訊,如 字串轉換為數字時的型別轉換異常,檔案讀取時的檔案不存在異常,網路鏈結時主機不可達異常 等。當pyt...

python中的異常

exception類是最常用的異常類,該類包括standarderror,stopiteration,generatorexit,warning等異常類.standarderror類是python的錯誤異常,如果程式中出現邏輯上的錯誤,將引發該異常.例如除數為0的異常。standarderror類是...

python中的異常

1,空的except語句將會捕捉所有的異常,可以用sys模組中取出異常名和異常的值 2,raw input 讀檔案到末尾時,會引發eoferror異常,這種異常不是錯誤 3,finally只做清楚工作,不做異常處理 異常處理的例子 myexception error defraise1 raisem...