異常:程式執行時報錯
關於異常處理:
程式設計師編訂特定編碼,用來捕捉異常,這段**與與程式邏輯沒有關係,只和異常處理相關。捕捉成功則進入另一處理分支,執行為其定製的邏輯,使程式不會發生崩潰
num1=input('>>:
') #
輸入乙個字串試試
ifnum1.isdigit():
int(num1)
#我們的正統程式放到了這裡,其餘的都屬於異常處理範疇
elif
num1.isspace():
print('
輸入的是空格,就執行我這裡的邏輯')
elif len(num1) ==0:
print('
輸入的是空,就執行我這裡的邏輯')
else
:
print('
其他情情況,執行我這裡的邏輯
')
總結:
if判斷式的異常處理只能針對某一段**,對於不同**段的相同型別還需要重複if進行處理
頻繁使用if會導致程式本身可讀性變差
if是能解決異常的只是存在上述問題
1.基本語法
try: 被檢測的**塊
except
異常型別:
try中一旦檢測到異常,就執行這個位置的邏輯
2.異常只能處理指定的異常情況,如果非指定異常則無法處理
#未捕獲到異常,程式直接報錯
s1 = '
hello
'try
: int(s1)
except
indexerror as e:
print(e)
3.萬能異常:exception可以捕獲任意異常
s1 = 'hello
'try
: int(s1)
except
exception as e:
(e)---invalid literal for int() with base 10: '
hello'#
它不會飄紅,但是也會顯示相關錯誤
如果相對任何異常都統一丟棄,那麼乙個exception就足夠了
如果想要對不同的異常定製不同的處理邏輯,則需要多分支處理
s1 = 'hello
'try
: float(s1)
except
indexerror as e:
(e)except
keyerror as e:
(e)except
valueerror as e:
print(e)
4.其他組織機構
s1 = 'hello
'try
: int(s1)
except
indexerror as e:
(e)except
keyerror as e:
(e)except
valueerror as e:
(e)#
except exception as e: #使用as e 是為了把錯位列印出來,方便檢視錯誤點
#print(e)
else
:
print('
try內**塊沒有異常則執行我')
finally
:
print('
無論異常與否,都會執行該**,通常是進行收尾工作
') # 這步不管怎樣最後都會執行
5.主動觸發異常
try:
raise typeerror('
型別錯誤')
except
exception as e:
print(e)
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...