欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python運行異常管理解決方案

 更新時間:2020年03月09日 13:49:05   作者:躬耕南陽  
這篇文章主要介紹了Python運行異常管理解決方案,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

1 前言

Python使用被稱為異常的特殊對象來管理程序執(zhí)行期間發(fā)生的錯誤。每當發(fā)生讓Python不知所措的錯誤時,它都會創(chuàng)建一個異常對象。

如果你編寫了處理該異常的代碼,程序將繼續(xù)運行;如果你未對異常進行處理,程序將停止,并顯示一個traceback,其中包含有關異常的報告。

異常是使用try-except代碼塊處理的。try-except代碼塊讓Python執(zhí)行指定的操作,同時告訴Python發(fā)生異常時怎么辦。

使用了try-except代碼塊時,即便出現(xiàn)異常,程序也將繼續(xù)運行。

2 運用try-except代碼塊

我們知道,除數(shù)是不能為0的,當程序員誤將除數(shù)設置為0時,將會出現(xiàn)ZeroDivisionError錯誤。

實現(xiàn)代碼:

 try:
   print(6/0)
 except ZeroDivisionError:
   print("you can not divide by zero!")

運行結果:

you can not divide by zero!

工作原理:

將可能出現(xiàn)錯誤的代碼放在try代碼塊中,如果運行無錯誤,將跳過except代碼塊;若導致了錯誤,Python將查找except代碼塊,并執(zhí)行其中的代碼。

這樣一來,當運行出錯時,用戶看到的便是一條友好的錯誤信息。

若try-except后面還有其他代碼,那么程序將接著運行。

3 運用try-except-else代碼塊

實現(xiàn)代碼:

print("Please input two numbers, and I will divide them.")
print("Enter 'q' to quit.")

while True:
  first_num = input("\nFirst number: ")
  if first_num == 'q':
    break
  second_num = input("Second number: ")

  try:
    answer = int(first_num) / int(second_num)
  except ZeroDivisionError:
    print("you can not divide by zero!")
  else:
    print(answer)

運行結果:

工作原理:

一般地,將可能發(fā)生異常的代碼放在try代碼塊中。

Python嘗試執(zhí)行try代碼塊中代碼,如果發(fā)生錯誤,則執(zhí)行except中程序代碼;如果運行正常,則執(zhí)行else代碼塊中的代碼。

這樣一來,就有效地避免了可能發(fā)生的錯誤帶來的程序崩潰問題,讓程序變得更加健壯。

4 運用pass語句

實現(xiàn)代碼:

while True:
  first_num = input("\nFirst number: ")
  if first_num == 'q':
    break
  second_num = input("Second number: ")

  try:
    answer = int(first_num) / int(second_num)
  except ZeroDivisionError:
    pass
  else:
    print(answer)

運行結果:

工作原理:

10 當代碼執(zhí)行出錯時,Python將會執(zhí)行except代碼塊中的pass語句。pass語句既不會出現(xiàn)traceback,也沒有任何輸出。

此外,pass語句還可充當占位符,用于提醒程序員該處還未定義任何語句,后面可能會定義語句。

5 小結

到這里,我們就了解了一些處理異常的方式,我們可以根據(jù)不同的需求,決定是否向用戶報告錯誤以及怎樣報告錯誤,有效地避免一些異常帶來的程序崩潰。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Python爬蟲框架scrapy實現(xiàn)downloader_middleware設置proxy代理功能示例

    Python爬蟲框架scrapy實現(xiàn)downloader_middleware設置proxy代理功能示例

    這篇文章主要介紹了Python爬蟲框架scrapy實現(xiàn)downloader_middleware設置proxy代理功能,結合實例形式分析了scrapy框架proxy代理設置技巧與相關問題注意事項,需要的朋友可以參考下
    2018-08-08
  • python函數(shù)定義和調用過程詳解

    python函數(shù)定義和調用過程詳解

    這篇文章主要介紹了python函數(shù)定義和調用過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-02-02
  • python是否適合網(wǎng)頁編程詳解

    python是否適合網(wǎng)頁編程詳解

    在本篇文章里我們給各位整理了一篇關于python是否適合網(wǎng)頁編程詳解內容,有需要的朋友們可以學習下。
    2019-10-10
  • Python可視化神器pyecharts繪制地理圖表

    Python可視化神器pyecharts繪制地理圖表

    這篇文章主要介紹了Python可視化神器pyecharts繪制地理圖表,文章圍繞主題展開詳細的內容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-07-07
  • Python3.5裝飾器原理及應用實例詳解

    Python3.5裝飾器原理及應用實例詳解

    這篇文章主要介紹了Python3.5裝飾器原理及應用,結合具體實例形式詳細分析了Python3.5裝飾器的概念、原理、使用方法及相關操作注意事項,需要的朋友可以參考下
    2019-04-04
  • Python解釋器及PyCharm工具安裝過程

    Python解釋器及PyCharm工具安裝過程

    這篇文章主要介紹了Python解釋器和python 開發(fā)工具PyCharm安裝過程,本文通過圖文并茂的形式給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-02-02
  • Python編解碼16進制碼流的示例代碼

    Python編解碼16進制碼流的示例代碼

    這篇文章主要為大家詳細介紹了Python編解碼16進制碼流的相關資料,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-04-04
  • python操作 hbase 數(shù)據(jù)的方法

    python操作 hbase 數(shù)據(jù)的方法

    下面小編就為大家?guī)硪黄猵ython操作 hbase 數(shù)據(jù)的方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-12-12
  • python網(wǎng)絡爬蟲基本語法詳解

    python網(wǎng)絡爬蟲基本語法詳解

    掌握Python網(wǎng)絡爬蟲基本語法,就是打開數(shù)據(jù)世界的鑰匙,在這份指南中,我們將帶你深入淺出,從零開始一步步變成抓取信息的高手,準備好探索無限可能的網(wǎng)絡數(shù)據(jù)世界了嗎?讓我們一起開啟這段精彩旅程吧!
    2024-03-03
  • Python浮點型(float)運算結果不正確的解決方案

    Python浮點型(float)運算結果不正確的解決方案

    這篇文章主要介紹了Python浮點型(float)運算結果不正確的解決方案,幫助大家更好的利用python進行運算處理,感興趣的朋友可以了解下
    2020-09-09

最新評論