一、程式的異常處理
異常處理是現代程式語言不可或缺的能力,它已經成為衡量一門程式語言是否已經成熟和健壯的標準之一。
例如在二級程式設計題中有乙個『猜數字』遊戲,如下
import random
target = random.randint(1,
1000
)count =
0while
true
: guess =
eval
(input
('請輸入乙個猜測的整數(1至1000):'))
count = count+
1if guess > target:
print
('猜大了'
)elif guess < target:
print
("猜小了"
)else
:print
("猜對了"
)break
print
("本輪猜測的次數是:{}"
.format
(count)
)
該遊戲會產生乙個1-1000的隨機數,然後請使用者迴圈猜這個數字,對於每個答案只回答"猜大了"或"猜小了",直到猜準確為止,輸出使用者的猜測次數
下面附上執行結果
請輸入乙個猜測的整數(
1至1000
):500
猜大了請輸入乙個猜測的整數(
1至1000
):100
猜大了請輸入乙個猜測的整數(
1至1000
):1猜小了
請輸入乙個猜測的整數(
1至1000
):abc--
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
----
-nameerror traceback (most recent call last)
input-1
-8c063bff509d
>
in3 count =04
while
true:-
--->
5 guess =
eval
(input
('請輸入乙個猜測的整數(1至1000):'))
6 count = count+17
if guess > target:
innameerror: name 'abc'
isnot defined
可以看到我們無法保證使用者會輸入什麼資料,輸入有誤程式就會報錯,這時異常處理的作用就體現出來了
仔細觀察下面的**
import random
target = random.randint(1,
1000
)count =
0while
true
:try
: guess =
eval
(input
('請輸入乙個猜測的整數(1至1000):'))
except
:print
("輸入格式有誤,請重新輸入"
)continue
count = count+
1if guess > target:
print
('猜大了'
)elif guess < target:
print
("猜小了"
)else
:print
("猜對了"
)break
print
("本輪猜測的次數是:{}"
.format
(count)
)
可以看到在第五行和第七行分別加了try和except語句
執行結果如下:
請輸入乙個猜測的整數(
1至1000
):500
猜大了請輸入乙個猜測的整數(
1至1000
):100
猜大了請輸入乙個猜測的整數(
1至1000
):1猜小了
請輸入乙個猜測的整數(
1至1000
):abc
輸入格式有誤,請重新輸入
請輸入乙個猜測的整數(
1至1000
):
結果顯而易見,所以程式的異常處理是非常有必要的
二、異常的高階用法
其實程式的異常處理還有一些略微高階的用法,這些用法也十分常用。
例題如下:
try
: alp =
"abcdefghijklmnopqrstuvwxyz"
idx =
eval
(input
("請輸入乙個整數:"))
print
(alp[idx]
)except nameerror:
print
("輸入錯誤,請輸入乙個0-25的整數"
)except
:print
("其它錯誤"
)
執行結果如下:
請輸入乙個整數:no
輸入錯誤,請輸入乙個0
-25的整數
請輸入乙個整數:
100其它錯誤
除了try和except保留字外,異常語句還可以與else和finally保留字配合使用,語法格式如下:
try
:《語句塊1
>
except
《異常型別1
>
:《語句塊2
>
else
:《語句塊3
>
finally
:《語句塊4
>
當try中的語句塊1正常執行結束且沒有發生異常時,else中的語句塊3執行,可以看作是對try語句塊正常執行後的一種追加處理。finally語句塊則不同,無論try中的語句塊1是否發生異常,語句塊4都會執行,可以將程式執行語句塊1的一些收尾工作放在這裡。
小夥伴們趕快找個例子練練手吧
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...