一 異常處理的引入
>>>
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...