深入理解python try異常處理機制
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
#python的try語句有兩種風格
#一:種是處理異常(try/except/else)
#二:種是無論是否發生異常都將執行最後的**(try/finally)
try
/
except
/
else
風格
try
:
《語句》
#執行別的**
except
《名字》:
《語句》
#如果在try部份引發了'name'異常
except
《名字》,《資料》:
《語句》
#如果引發了'name'異常,獲得附加的資料
else
:
《語句》
#如果沒有異常發生
#try的工作原理是,當開始乙個try語句後,python就在當前程式的上下文中作標記,這樣當異常出現時就可以回到這裡,try子句先執行,接下來會發生什麼依賴於執行時是否出現異常。
#1、如果當try後的語句執行時發生異常,python就跳回到try並執行第乙個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。
#2、如果在try後的語句裡發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程式的最上層(這樣將結束程式,並列印預設的出錯資訊)。
#3、如果在try子句執行時沒有發生異常,python將執行else語句後的語句(如果有else的話),然後控制流通過整個try語句。
try
/
finally
風格
try
:
《語句》
finally
:
《語句》
#退出try時總會執行
python總會執行
finally
子句,無論
try
子句執行時是否發一異常。
1
、如果沒有發生異常,python執行
try
子句,然後是
finally
子句,然後繼續。
2
、如果在
try
子句發生了異常,python就會回來執行
finally
子句,然後把異常遞交給上層
try
,控制流不會通過整個
try
語句。
當你想無論是否發生異常都確保執行某些**時,
try
/
finally
是有用的。
#這個在開啟檔案的時候有用 finally總是在最後close()檔案
try
語句子句形式表
except
: 捕獲所有異常
except
name: 只捕獲特定的異常
except
name,value: 捕獲異常和它的附加資料(將異常的資訊儲存到value,)
except
(name1,name2): 捕獲任何列出的異常
else
: 如果沒有異常
finally
: 總是執行
>>>
try
:
f
=
open
(
'file.txt'
)
except
ioerror, e:
print
e
else
:
print
'wrong'
[errno
2
] no such
file
or
directory:
'file.txt'
最新的python版本 支援
try
/
except
/
finally
try
:
1
:如果x沒有異常,執行z,i
x
2
:如果x有異常, 一:如果
except
捕捉到異常則執行y,i
except
(name): 二:沒捕捉到,執行i,然後返回內建異常處理
y
else
:
z
finally
:
i
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...