python異常處理

2021-09-21 06:47:58 字數 1987 閱讀 3627

try/except和try/finally

用法:用於python中的異常處理,在寫程式的時候使用異常處理會增加程式的穩定性,預設情況下,如果沒有使用異常處理而程式發生了錯誤,指令碼檔案在執行過程中所產生的異常訊息會自動傳送給程式呼叫端,如python shell,python shell 對異常訊息的預設處理則是終止程式的執行並列印具體的出錯資訊。這就是在python shell中執行程式錯誤後出現的出錯列印資訊的由來。

try/except

try:

**塊except 異常型別:

語句except:

語句 else:

語句

先執行try後的語句,如果發生異常,才執行except,從第乙個except後開始尋找,如果找到了對應的異常型別則執行except 該異常型別後的語句,如果沒有找到,則執行except,except是可選項,如果沒有提供,則異常將會提交給python進行預設處理,終止應用程式並列印提示資訊,如果在try中沒有出現異常則會直接進入else(如果存在)。

try/finally

try:

**塊finally:

語句

這裡不論try中是否發生異常,finally一定會執行。

try/except和try/finally合用

try:

**塊except 異常型別:

語句except:

語句else:

語句finally:

語句

**注意:**

1.合用的時候順序一定是:try–except 異常型別–except–else–finally

2.else和finally是可有可無的,如果有finally一定在最後

3.except 異常型別一定在except之前,except一定在else之前,except是存在else的前提條件

例項:

//溫度轉換**

while true:

try:

tempstr=input("請輸入帶有符號的溫度值:")

while(tempstr[-1] not in ['f','f','c','c']):

print("輸入格式有誤,應該輸入整數後加字母f/f或c/c")

tempstr=input("請輸入帶有符號的溫度值:")

finally:

if tempstr[-1] in ['f','f']:

c=(eval(tempstr[0:-1])-32)/1.8

print("轉換後的溫度是c".format(c))

elif tempstr[-1] in ['c','c']:

f=1.8*eval(tempstr[0:-1])+32

print("轉換後的溫度是f".format(f))

break

//猜數遊戲

import random

while true:

try:

k=random.randint(0,100)

x=int(input("請輸入0—100之間的整數:"))

tem=0

while x!=k:

tem+=1

if(x>k):

print("遺憾,太大了")

else:

print("遺憾,太小了")

x=eval(input("請輸入0—100之間的整數:"))

except:

print("輸入內容必須為整數!")

else:

print("**{}次,你猜中了".format(tem))

break

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...