亚洲免费在线视频-亚洲啊v-久久免费精品视频-国产精品va-看片地址-成人在线视频网

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

Python錯誤的處理方法

瀏覽:9日期:2022-07-19 16:49:45

異常的捕獲與處理

什么是錯誤

簡而言之:還沒運行,在語法解析的時候,就發現語法存在問題,這個時候就是錯誤。

什么是異常

簡而言之:代碼寫好之后,無明顯語法錯誤(這個時候,編輯器不知道有錯,語法解析時也不知道有錯),但是運行的時候,會發生錯誤,這個時候稱之為異常。

什么是警告

import warningsdef fxn(): warnings.warn('deprecated', DeprecationWarning)

異常怎么處理

異常的處理形式如下:

try: 你要做的可能會發生異常的事except 可能會發生的異常: 發生異常之后要做的事except 可能會發生的異常2: 發生異常之后要做的事2finally: 最終要做的事情

比如下面的代碼:

try: print(10/0)except ZeroDivisionError: print('除數不能為0')

這個時候再次運行,就不會再出現異常

在平時的開發中,也會使用預定義清理的操作,來避免因為異常而導致程序奔潰,比如在進行IO操作的時候,可以使用:

with open('myfile.txt') as f: for line in f: print(line, end='')

這樣一旦運行時發生異常,程序會自動幫你關閉文件,避免整個程序奔潰

自定義異常與異常的拋出

雖然python中提供了非常多的內置異常類,但是,在平時開發中,針對特定的業務,可能需要自定義異常,此時怎么辦?

通過自定義繼承Exception類的類,可以實現異常的自定義

class MyException(Exception): def __init__(self, parameter): err = ’非法入參{0},分母不能為0’.format(parameter) Exception.__init__(self, err) self.parameter = parameter

當我們代碼中碰到某種特殊業務情況,需要向調用方拋出自定義異常,可以使用 raise 關鍵字

from chapter12.my_exception import MyExceptiondef my_fun(x): if x == 0: raise MyException(x) return 12/xprint(my_fun(-12))

我們在捕獲異常之后,也可以直接將異常拋出,此時直接使用 raise 關鍵字即可

def my_func(): try: print(10 / 0) except ZeroDivisionError: print('除數不能為0') # 此處直接將捕獲的異常拋出 raise

單元測試

什么是單元測試

單元測試(英語:Unit Testing)又稱為模塊測試,是針對程序模塊(軟件設計的最小單位)來進行正確性檢驗的測試工作。程序單元是應用的最小可測試部件。在過程化編程中,一個單元就是單個程序、函數、過程等;對于面向對象編程,最小單元就是方法,包括基類(超類)、抽象類、或者派生類(子類)中的方法。 簡而言之:就是寫一段代碼,用來驗證另一段代碼在特定情況下的正確性

單元測試的好處與“壞處”

好處:減少bug、提高代碼質量、可以放心重構(在未來修改實現的時候,可以保證代碼的行為仍舊是正確的) '壞處':占用開發時間,尤其是在起步階段

在python中,如何編寫單元測試

1、新建python文件,編寫具體業務代碼

class MyTest():def my_add(self, a, b):return a + b

2、右鍵類名,選擇Go TO ==》test,或者直接 ctrl+shift +t

Python錯誤的處理方法

3、填寫好相應的模塊名及測試類名,點擊ok,此時pycharm會幫我們自動創建測試模塊及類

Python錯誤的處理方法

4、編寫測試代碼,并執行單元測試

import unittestfrom unittest import TestCasefrom test import MyTestclass TestMyTest(TestCase):def test_add(self): s= MyTest() self.assertEqual(s.my_add(1,5),6)if __name__ == '__main__':unittest.main()

以上就是Python錯誤的處理方法的詳細內容,更多關于Python錯誤處理的資料請關注好吧啦網其它相關文章!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 亚洲日韩aⅴ在线视频 | 日韩欧美精品一区二区三区 | 自拍偷在线精品自拍偷无码专区 | 国产欧美一区视频在线观看 | 成人免费一级在线播放 | 久久精品国产精品亚洲人人 | 国产精品久久久久激情影院 | 欧美成人午夜免费完成 | 一级毛片免费观看 | 亚洲免费国产 | 国内精品免费一区二区观看 | 国产成人精品在线 | 亚洲最大情网站在线观看 | 欧美一级视频 | 欧美日韩精品在线播放 | 久久福利青草精品免费 | 国产在线欧美精品 | 日本一区二区三区国产 | 看日本真人一一级特黄毛片 | 亚洲欧美一区二区三区 | 亚洲成 人a影院青久在线观看 | 521a久久九九久久精品 | 日本久久久久一级毛片 | 久草高清视频 | 欧美影院久久 | 日韩中文字幕在线观看视频 | 在线日韩欧美一区二区三区 | 国产免费观看a大片的网站 国产免费黄色网址 | 精品三级在线观看 | 深夜做爰性大片很黄很色视频 | 一区二区三区国产美女在线播放 | 国内自拍第一页 | 久久精品一品道久久精品9 久久精品一区 | 亚洲日韩精品欧美一区二区一 | 国产美女精品三级在线观看 | 免费嗨片| 国产一区欧美二区 | 久久99国产精一区二区三区 | a一级网站| 欧美一区二区不卡视频 | 怡红院色视频在线 |