3 try-except-else語句
4 try-except-finally語句
5 自定義異常:raise語句
6 習題
try
: 可能發生異常的**
except:
如果出現異常執行的**
注意:使用except
而不帶任何異常型別,這不是乙個很好的方式,我們不能通過該程式識別出具體的異常資訊,因為它捕獲所有的異常。
try
: 可能發生異常的**
except 異常型別1(exception) as 變數名:
# exception是任何異常型別
出現異常1後執行的**
except 異常型別2(exception) as 變數名:
# exception是任何異常型別
出現異常2後執行的**..
....
注意:使用多個except
**塊時,必須堅持對其規範排序,要從最具針對性的異常到最通用的異常。
【例子】
try
: a =
int(
input
('請輸入除數(分母):'))
b =int(
input
('請輸入被除數(分子):'))
(b/a)
('異常檢測出來後,繼續執行的**'
)except zerodivisionerror as error:
('執行錯誤\n原因是:'
+str
(error)
)except valueerror as error:
('執行錯誤\n原因是:'
+str
(error)
)'''
請輸入除數(分母):0
請輸入被除數(分子):9
執行錯誤
原因是:division by zero
-------------------------
請輸入除數(分母):a
執行錯誤
原因是:invalid literal for int() with base 10: 'a'
'''
注意:如果try子句執行過程**現異常,那麼try子句後面的**不會再執行。
try
: 可能發生異常的**
except (異常型別1
,異常型別2,.
..) as 變數名:
捕獲其中乙個異常型別後執行的**
注意:如果不是指定的異常型別還是會報錯。【例子】
try
: a =
int(
input
('請輸入除數(分母):'))
b =int(
input
('請輸入被除數(分子):'))
(b/a)
('異常檢測出來後,繼續執行的**'
)except
(zerodivisionerror,valueerror)
as error:
('執行錯誤\n原因是:'
+str
(error)
)'''
請輸入除數(分母):a
執行錯誤
原因是:invalid literal for int() with base 10: 'a'
'''
【例子】try
: 檢測範圍
except 異常型別 as 變數名:
出現異常後的處理**
else
: 如果沒有異常執行這塊**
try
: a =
int(
input
('請輸入除數(分母):'))
b =int(
input
('請輸入被除數(分子):'))
(b/a)
except
(zerodivisionerror,valueerror)
as error:
('執行錯誤\n原因是:'
+str
(error)
)else
('沒有異常,正確執行'
)'''
請輸入除數(分母):2
請輸入被除數(分子):4
2.0沒有異常,正確執行
'''
【例子】try
: 檢測範圍
except 異常型別 as 變數名:
出現異常後的處理**
finally
: 無論如何都會被執行的**
try
: a =
int(
input
('請輸入除數(分母):'))
b =int(
input
('請輸入被除數(分子):'))
(b/a)
except
(zerodivisionerror,valueerror)
as error:
('執行錯誤\n原因是:'
+str
(error)
)else
('沒有異常,正確執行'
)finally
('無論如何都會執行我'
)'''
請輸入除數(分母):0
請輸入被除數(分子):2
執行錯誤
原因是:division by zero
無論如何都會執行我
'''
try
: a=
102if a>
100:
raise exception(
'數值大於100'
)except exception as error:
(error,
type
(error)
)# 數值大於100
import random
true_num=random.randint(0,
100)
('猜測乙個0-100之間的整數'
)try
:for i in
range(1
,101):
(f'第次猜,'
,end='')
user_num=
int(
input
('請輸入乙個整型數字:'))
if user_num > true_num:
('太大'
)if user_num < true_num:
('太小'
)if user_num == true_num:
(f'恭喜你猜到了這個數是'
)except valueerror:
('輸入無效'
)'''
猜測乙個0-100之間的整數
第1次猜,請輸入乙個整型數字:50
恭喜你猜到了這個數是50
--------------------------------
猜測乙個0-100之間的整數
第1次猜,請輸入乙個整型數字:a
輸入無效
'''
Python基礎 Task03 異常處理
異常就是執行期檢測到的錯誤。計算機語言針對可能出現的錯誤定義了異常型別,某種錯誤引發對應的異常時,異常處理程式將被啟動,從而恢復程式的正常執行。異常體系內部有層次關係,python異常體系中的部分關係如下所示 檢測範圍 except exception as reason 出現異常後的處理 try ...
DW學習 Python基礎03(異常處理)
3 try except else語句 4 try except finally語句 5 自定義異常 raise語句 6 習題 try 可能發生異常的 except 如果出現異常執行的 注意 使用except而不帶任何異常型別,這不是乙個很好的方式,我們不能通過該程式識別出具體的異常資訊,因為它捕獲...
python03 異常處理
1 異常處理 異常就是執行期檢測到的錯誤。計算機語言針對可能出現的錯誤定義了異常型別,某種錯誤引發對應的異常時,異常處理程式將被啟動,從而恢復程式的正常執行。異常體系內部有層次關係,python異常體系中的部分關係如下所示 2 標準警告總結 3 try except語句 try 檢測範圍 excep...