隔着超薄肉丝进入小说_男女刺激性视频大片_女教师的诱波多野结衣_一级欧美过瘾大片

當前位置: 首頁 / 技術干貨 / 正文
好程序員Python培訓分享Python異常處理

2020-11-25

Python培訓

  好程序員Python培訓分享Python異常處理,Python開發工程師們在工作的過程中經常會遇到這樣或者那樣的問題,本篇文章給讀者們分享一下Python異常處理,對Python開發技術感興趣的小伙伴隨小編來了解一下吧。

 

  定義:python解釋器檢測到錯誤,觸發異常(也允許程序員自己觸發異常)程序員編寫特定的代碼,專門用來捕 捉這個異常(這段代碼與程序邏輯無關,與異常處理有關)如果捕捉成功則進入另外一個處理分支,執行你為其 定制的邏輯,使程序不會崩潰,這就是異常處理。

  需求:當程序遇到問題時不讓程序結束,而越過錯誤繼續向下執行。

好程序員

  意義:python解析器去執行程序,檢測到了一個錯誤時,觸發異常,異常觸發后且沒被處理的情況下,程序就在當前異常處終止,后面的代碼不會運行,所以你必須提供一種異常處理機制來增強你程序的健壯性與容錯性。

 

try……except……else

格式:

try:

    語句t

except 錯誤碼 as e:

    語句1

except 錯誤碼 as e:

    語句2

……

except 錯誤碼 as e:

    語句n

else:

    語句e

 

注意:else語句可有可無

 

作用:用來檢測try語句塊中的錯誤,從而讓except語句捕獲錯誤信息并處理。

 

  邏輯:當程序執行到try-except-else語句時1、如果當try“語句t”執行出現錯誤,會匹配diyi個錯誤碼,如果匹配上就執行對應"語句"2、如果當try“語句t”執行出現錯誤,沒有匹配的異常,錯誤將會被提交到上一層的try語句。或者到程序的最上層3、如果當try“語句t”執行沒有出現錯誤,執行else下的“語句e”(你得有)4、如果當try“語句t”執行出現錯誤,匹配到錯誤碼,執行對應"語句",然后將不在執行以后的except語句。

 

實例代碼:

 

>>> s1 = 'a'

>>> int(s1)

Traceback (most recent call last):

  File "<pyshell#1>", line 1, in <module>

    int(s1)

ValueError: invalid literal for int() with base 10: 'a'    

>>>

如何才能處理異常,進行下一步呢?

 

 

s1 = 'a'

try:

    int(s1)

except ValueError as e:

    print(e)

    print('出錯了,請檢查代碼!!')

================ RESTART: C:\Users\Administrator\Desktop\1.py ================

invalid literal for int() with base 10: 'a'

出錯了,請檢查代碼!!

>>>

多分支

當運行結果可能會出現二個或多個異常時使用多分支。

 

try:

    msg = input('請輸入:')

    num = int(msg)   

    nm = list(num)     

except TypeError as e:          

    print(e)

except ValueError as e:

    print(e)

================ RESTART: C:\Users\Administrator\Desktop\1.py ================

請輸入:111

'int' object is not iterable

>>>

================ RESTART: C:\Users\Administrator\Desktop\1.py ================

請輸入:a

invalid literal for int() with base 10: 'a'

>>>

 

 

萬能異常

 

python的異常中,有一個萬能異常:Exception,他可以捕獲任意異常

 

 s1 = 'a'

try:

    int(s1)

except Exception as e:

    print(e)

    print('出錯了,請檢查代碼!!')

================ RESTART: C:\Users\Administrator\Desktop\1.py ================

invalid literal for int() with base 10: 'a'

出錯了,請檢查代碼!!

>>>

 

 

和前面的代碼一模一樣。

 

try-finally語句

語句無論是否發生異常都將執行最后的代碼。

 

 

 

s1 = input('輸入:')

try:

    int(s1)

except ValueError as e:

    print(e)

else:

    print('try內代碼塊沒有異常則執行我')

finally:

    print('無論異常與否,都會執行該模塊,通常是進行清理工作')

================ RESTART: C:\Users\Administrator\Desktop\1.py ================

輸入:10

try內代碼塊沒有異常則執行我

無論異常與否,都會執行該模塊,通常是進行清理工作

>>>

================ RESTART: C:\Users\Administrator\Desktop\1.py ================

輸入:a

invalid literal for int() with base 10: 'a'

無論異常與否,都會執行該模塊,通常是進行清理工作

>>>

  最后想要了解更多關于Python和人工智能方面內容的小伙伴,請關注好程序員Python培訓官網、微信公眾號等平臺。

好程序員公眾號

  • · 剖析行業發展趨勢
  • · 匯聚企業項目源碼

好程序員開班動態

More+
  • HTML5大前端 <高端班>

    開班時間:2021-04-12(深圳)

    開班盛況

    開班時間:2021-05-17(北京)

    開班盛況
  • 大數據+人工智能 <高端班>

    開班時間:2021-03-22(杭州)

    開班盛況

    開班時間:2021-04-26(北京)

    開班盛況
  • JavaEE分布式開發 <高端班>

    開班時間:2021-05-10(北京)

    開班盛況

    開班時間:2021-02-22(北京)

    開班盛況
  • Python人工智能+數據分析 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2020-09-21(上海)

    開班盛況
  • 云計算開發 <高端班>

    開班時間:2021-07-12(北京)

    預約報名

    開班時間:2019-07-22(北京)

    開班盛況
IT培訓IT培訓
在線咨詢
IT培訓IT培訓
試聽
IT培訓IT培訓
入學教程
IT培訓IT培訓
立即報名
IT培訓

Copyright 2011-2023 北京千鋒互聯科技有限公司 .All Right 京ICP備12003911號-5 京公網安備 11010802035720號