python3,異常的小例項(二)

2021-09-29 05:11:49 字數 3278 閱讀 6561

list=[

1,8,

9,19,

88,3,

5,6,

0,2,

4,7,

22,66,

13]mid =

0for i in

range(0

,len

(list)-

1):for j in

range

(i+1

,len

(list))

:iflist

[i]>

list

[j]:

mid =

list

[i]list

[i]=

list

[j]list

[j]= mid

print

('list長度:'

,len

(list))

print

(list

)

執行結果

list長度: 15[0

,1,2

,3,4

,5,6

,7,8

,9,13

,19,22

,66,88

]

(1)如果程式中,某乙個下標出現書寫錯誤【將某處的下標 j 寫成了 mj 】

list=[

1,8,

9,19,

88,3,

5,6,

0,2,

4,7,

22,66,

13]mid =

0for i in

range(0

,len

(list)-

1):for j in

range

(i+1

,len

(list))

:iflist

[i]>

list

[j]:

mid =

list

[i]list

[i]=

list

[j]list

[mj]

= mid #此處將 j 寫成了 mj

print

('list長度:'

,len

(list))

print

(list

)

程式中斷,執行報錯。丟擲乙個nameerror

traceback (most recent call last)

: file "g:/pycharmprojects/gui_pro/test/test1.py"

, line 8,in

list

[mj]

= mid

nameerror: name 'mj'

isnot defined

那麼,我們考慮把這個異常捕獲,使程式正常執行結束,而不發生中斷

try

:list=[

1,8,

9,19,

88,3,

5,6,

0,2,

4,7,

22,66,

13]mid =

0for i in

range(0

,len

(list)-

1):for j in

range

(i+1

,len

(list))

:iflist

[i]>

list

[j]:

mid =

list

[i]list

[i]=

list

[j]list

[mj]

= mid

except nameerror as e:

#捕獲這個異常,作為e

print

('型別錯誤'

,e)#列印這個異常

else

:print

('list長度:'

,len

(list))

print

(list

)print

('沒有異常,程式執行結束!'

)

程式執行,正常執行結束,捕獲到異常

型別錯誤 name 『mj』 is not defined

process finished with exit code 0

(2)如果這個程式中,有多個異常

except (typeerror,nameerror) as e:

發生多個異常中的乙個,才執行這塊**,出現的錯誤型別不在括號內,無法捕獲!

try

:list=[

1,8,

9,19,

88,3,

5,6,

0,2,

4,7,

22,66,

13]mid =

0for i in

range(0

,len

(list)-

1):for j in

range

(i+1

,len

(list))

:iflist

[i]>

list

[j]:

mid =

list

[i]list

[i]=

list

[j]list

[mj]

= mid

except

(typeerror,nameerror)

as e:

# 發生多個異常中的乙個,才執行這塊**,出現的錯誤型別不在括號內,無法捕獲!

print

('型別錯誤'

,e)else

:print

('list長度:'

,len

(list))

print

(list

)print

('沒有異常,程式執行結束!'

)

執行程式,捕獲到異常

型別錯誤 name 『mj』 is not defined

python3異常例項 Python3 錯誤和異常

錯誤和異常 程式執行時有兩種可以分辨的錯誤 syntax error 和 exception 按中文來說,就是語法錯誤和異常。語法錯誤 語法錯誤也就是解析錯誤,是我們最優可能遇到的錯誤。while true print hello world file line 1,in?while true pr...

Python3 異常處理

python3.5 異常處理 try用法 try except語句主要是用於處理程式正常執行過程中出現的一些異常情況 try finally語句則主要用於在無論是否發生異常情況,都需要執行一些清理工作的場合 完整語句中,else語句的存在必須以except x或者except語句為前提,也就是說el...

Python3 異常捕獲

try.except.用於異常捕獲,當一段 程式執行時出現異常 報錯 會導致整個程式結束,出現異常的地方之後的邏輯 就不會被執行了,所以需要捕獲異常,當捕獲到異常之後,可以對異常進行處理,處理完成之後,可以保證專案中的其他 不會受影響 exception 所有錯誤型別的基類 1.indexerror...