Python異常處理

2021-10-18 04:01:37 字數 2855 閱讀 3680

bug的常見型別有:粗心導致、知識點不熟、思路不清等,下面逐一舉例介紹。

## 1.粗心導致的語法錯誤syntaxerror

age=

input

('請輸入您的年齡:'

)#input()輸入型別均為字串型別

if age>=18:

print

('您是成年人了'

)else

:print

('您是未成年人'

)while i<10:

print

(i)#未對i進行定義

'''粗心導致錯誤的自查方案

1.漏了末尾的冒號,如if語句,迴圈語句,else子句等

2.縮排錯誤

3.把英文符號寫為中文符號

4.字串沒有拼接的時候,把字串和數字拼在一起

5.沒有定義變數

6.==比較運算子和=賦值運算子混用'''

#索引越界問題indexerror

lst=[11

,22,33

,44]print

(lst[4]

)lst=

'a',

'b',

'c')

print

(lst)

#被動掉坑:程式**的邏輯沒有錯,只是因為使用者錯誤操作或者一些「例外情況」而導致的程式崩潰

#輸入兩個整數並進行除法運算

'''a=int(input('請輸入第乙個整數:'))

b=int(input('請輸入第二個整數:'))

result=a/b

print(result)'''

#1.字母作為資料輸入 2.零作為除數出現

'''異常處理機制

try 後面加入可能出現異常的**

except 後面加入異常型別'''

try:

a=int(

input

('請輸入第乙個整數:'))

b=int(

input

('請輸入第二個整數:'))

result=a/b

print

(result)

except zerodivisionerror:

print

('對不起,除數不允許為0'

)except valueerror:

print

('只能輸入數字串'

)except baseexception as e:

print

(e)print

('程式結束'

)#當出現的異常和排除的異常不同時,採用多個except結構

#捕獲異常的順序結構按照先子類後父親類的順序,為了避免遺漏可能出現的異常,可以在最後增加baseexception

#如果try塊中沒有丟擲異常,則執行else塊,如果try中丟擲異常,則執行except塊

try:

a=int(

input

('請輸入第乙個整數:'))

b=int(

input

('請輸入第二個整數:'))

result=a/b

except baseexception as e:

print

('出錯了'

,e)else

:print

(result)

#finally塊無論是否發生異常都會被執行,能常用來釋放try塊中申請的資源

try:

a=int(

input

('請輸入第乙個整數:'))

b=int(

input

('請輸入第二個整數:'))

result=a/b

except baseexception as e:

print

('出錯了'

,e)else

:print

(result)

finally

:print

('謝謝您的使用'

)

'''

1.zerodivisionerror 除(或取模)零(所有資料型別)

2.indexerror 序列中沒有此索引(index)

3.keyerror 對映中沒有這個鍵

4.nameerror 未宣告/初始化物件(沒有屬性)

5.syntaxerror python語法錯誤

6.vulaeerror 傳入無效的引數

''''''

#2.indexerror

lst=[11,22,33,44]

print(lst[4]) #索引從零開始

#3.keyerror

dic=

print(dic['gender']) #沒有這個鍵

#4.nameerror

print(num) #沒有定義

#5.syntaxerror

int a=20

#6.valueerror

a=int('hello') #valueerror

'''

#使用traceback模組列印異常資訊

#print(10/0)

import traceback

try:

print

('----------'

)print(1

/0)except

: traceback.print_exc(

)

使用debug,綠色蟲子圖示或者ctrl+f9,逐步執行**。

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