python異常處理

2021-08-11 03:49:49 字數 3434 閱讀 1583

一 異常處理的引入

>>>

while

true

:

try

:

x

=int

(input

("please enter a number: "

))

break

except

valueerror

:

print

("oops! that was no valid number. try again "

)

please

enter a number

:y

oops

!that

was no valid number

.try

again

please

enter a number

:1.3

oops

!that

was no valid number

.try

again

please

enter a number

:5

二 try語句工作方式

1、執行try子句(在關鍵字try和關鍵字except之間的語句)

2、如果沒有異常發生,忽略except子句,try子句執行後結束。

3、如果在執行try子句的過程中發生了異常,那麼try子句餘下的部分將被忽略。如果異常的型別和 except 之後的名稱相符,那麼對應的except子句將被執行。最後執行 try 語句之後的**。

4、如果乙個異常沒有與任何的except匹配,那麼這個異常將會傳遞給上層的try中。

5、乙個 try 語句可能包含多個except子句,分別來處理不同的特定的異常。最多只有乙個分支會被執行。

6、處理程式將只針對對應的try子句中的異常進行處理。

7、乙個except子句可以同時處理多個異常,這些異常將被放在乙個括號裡成為乙個元組,例如:

except (runtimeerror, typeerror, nameerror):

pass

8、最後乙個except子句可以忽略異常的名稱,它將被當作萬用字元使用。你可以使用這種方法列印乙個錯誤資訊,然後再次把異常丟擲。

>>>

import

os

>>>

try:

f

=open

('myfile.txt'

)

s =f

.readline

()

i

=int(s

.strip

())

except

oserror

aserr

:

print

("os error: "

.format

(err

))

except

valueerror

:

print

("could not convert data to an integer."

)

except

:

print

("unexpected error:"

,sys

.exc_info

()[0

])

raise

os error:[

errno2]

nosuch file

ordirectory

:'myfile.txt'

三 else子句

try except 語句還有乙個可選的else子句,如果使用這個子句,那麼必須放在所有的except子句之後。這個子句將在try子句沒有發生任何異常的時候執行。

>>>

try:

f

=open

('a.txt'

,'r'

)

except

ioerror

:

print

('cannot open'

)

except

:

print

('other err'

)

else

:

print

('file close'

)

f

.close

()

cannot open

使用 else 子句比把所有的語句都放在 try 子句裡面要好,這樣可以避免一些意想不到的、而except又沒有捕獲的異常。

四 異常處理try中函式

異常處理並不僅僅處理那些直接發生在try子句中的異常,而且還能處理子句中呼叫的函式(甚至間接呼叫的函式)裡丟擲的異常。

>>>

defthis_fails

():

x =1

/0

>>>

try:

this_fails

()

except

zerodivisionerror

aserr

:

print

('handling run-time error:'

,err

)

handling

run-

time error

:division by zero

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