国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

python的中異常處理機制

2020-02-15 22:51:21
字體:
來源:轉載
供稿:網友

什么是異常處理

定義:異常處理就是我們在寫Python時,經常看到的報錯信息,例如;NameError TypeError ValueError等,這些都是異常。

異常是一個事件,改事件會在程序執行過程中發生,影響程序的正常執行,一般情況下,在python中無法處理程序時就會發生異常,異常時Python的一個對象,表示一個錯誤,當Python腳本發生異常時,我們需要捕獲并處理異常,否則程序就會終止執行。

Python 使用被稱為 異常 的特殊對象來管理程序執行期間發生的錯誤。每當發生讓 Python 不知所措的錯誤時,它都會創建一個異常對象。如果你編寫了處理該異常的代碼,程序將繼續運行;如果你未對異常進行處理,程序將停止,并顯示一個 traceback ,其中包含有關異常的報告。異常是使用 try-except 代碼塊處理的。 try-except 代碼塊讓 Python 執行指定的操作,同時告訴 Python 發生異常時怎么辦。使用了 try-except 代碼塊時,即便出現異常,程序也將繼續運行:顯示你編寫的友好的錯誤消息,而不是令用戶迷惑的 traceback 。

處理ZeroDivisionError異常

下面來看一種導致 Python 引發異常的簡單錯誤。你可能知道不能將一個數字除以 0 ,但我們還是讓 Python 這樣做吧:

print(5/0)

報錯:

Traceback (most recent call last):
  File "test.py", line 2, in <module>
    print(5/0)
ZeroDivisionError: integer division or modulo by zero

使用 try-except 代碼塊

當你認為可能發生了錯誤時,可編寫一個 try-except 代碼塊來處理可能引發的異常。你讓 Python 嘗試運行一些代碼,并告訴它如果這些代碼引發了指定的異常,該怎么辦。

處理 ZeroDivisionError 異常的 try-except 代碼塊類似于下面這樣:

try:  print(5/0)except ZeroDivisionError:  print("You can't divide by zero!")# You can't divide by zero!

如果 try-except 代碼塊后面還有其他代碼,程序將接著運行,因為已經告訴了 Python 如何處理這種錯誤。

使用異常避免崩潰

發生錯誤時,如果程序還有工作沒有完成,妥善地處理錯誤就尤其重要。這種情況經常會出現在要求用戶提供輸入的程序中;如果程序能夠妥善地處理無效輸入,就能再提示用戶提供有效輸入,而不至于崩潰。

創建一個只執行除法運算的簡單計算器:

print("Give me two numbers, and I'll divide them.")print("Enter 'q' to quit.")while True:  first_number = input("/nFirst number: ")  if first_number == 'q':    break  second_number = input("Second number: ")  try:    answer = int(first_number) / int(second_number)  except ZeroDivisionError:    print("You can't divide by 0!")  else:    print(answer)            
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 连云港市| 渭南市| 宜君县| 忻城县| 八宿县| 渝北区| 万安县| 二手房| 视频| 林周县| 无锡市| 星子县| 呼图壁县| 柳林县| 南昌市| 肥东县| 竹山县| 五家渠市| 苏尼特右旗| 天全县| 阳谷县| 建阳市| 公安县| 大荔县| 定安县| 香港| 城口县| 武山县| 全椒县| 花莲市| 新干县| 顺昌县| 金华市| 九龙县| 沙湾县| 揭阳市| 定远县| 古田县| 平谷区| 亚东县| 梅河口市|