python異常處理

2022-03-23 09:22:59 字數 2112 閱讀 2030

異常:程式執行時報錯

關於異常處理:

程式設計師編訂特定編碼,用來捕捉異常,這段**與與程式邏輯沒有關係,只和異常處理相關。捕捉成功則進入另一處理分支,執行為其定製的邏輯,使程式不會發生崩潰

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:

print

(e)---invalid literal for int() with base 10: '

hello'#

它不會飄紅,但是也會顯示相關錯誤

如果相對任何異常都統一丟棄,那麼乙個exception就足夠了

如果想要對不同的異常定製不同的處理邏輯,則需要多分支處理

s1 = '

hello

'try

: float(s1)

except

indexerror as e:

print

(e)except

keyerror as e:

print

(e)except

valueerror as e:

print(e)

4.其他組織機構

s1 = '

hello

'try

: int(s1)

except

indexerror as e:

print

(e)except

keyerror as e:

print

(e)except

valueerror as e:

print

(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...