国产成人精品亚洲777人妖,欧美日韩精品一区视频,最新亚洲国产,国产乱码精品一区二区亚洲

您的位置:首頁技術文章
文章詳情頁

Python運行異常管理解決方案

瀏覽:6日期:2022-08-03 10:23:18

1 前言

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

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

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

使用了try-except代碼塊時,即便出現異常,程序也將繼續運行。

2 運用try-except代碼塊

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

實現代碼:

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

運行結果:

you can not divide by zero!

工作原理:

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

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

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

3 運用try-except-else代碼塊

實現代碼:

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)

運行結果:

Python運行異常管理解決方案

工作原理:

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

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

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

4 運用pass語句

實現代碼:

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)

運行結果:

Python運行異常管理解決方案

工作原理:

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

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

5 小結

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

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

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 三门县| 汝南县| 永川市| 山东省| 邹城市| 株洲县| 贺兰县| 抚顺县| 万盛区| 濮阳县| 云浮市| 平南县| 秀山| 石泉县| 沂水县| 富平县| 虞城县| 石林| 鹰潭市| 道孚县| 彩票| 中西区| 白山市| 桐梓县| 肃北| 玉田县| 松阳县| 红桥区| 门头沟区| 都江堰市| 武平县| 葫芦岛市| 靖宇县| 龙川县| 于都县| 邯郸县| 西乌珠穆沁旗| 耒阳市| 雷波县| 大英县| 鄯善县|