av一区二区在线观看_亚洲男人的天堂网站_日韩亚洲视频_在线成人免费_欧美日韩精品免费观看视频_久草视

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

Python錯誤的處理方法

瀏覽:4日期: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 編程
相關文章:
主站蜘蛛池模板: 九九热国产精品视频 | 午夜电影合集 | 一区二区国产精品 | 超碰在线久| 逼逼视频 | 亚洲国产精品一区二区久久 | 99久久影院 | 中文字幕一区二区三区在线乱码 | 成人激情视频网 | 久久久.com | 欧美国产一区二区三区 | 亚洲精品在线观看网站 | 欧美xxxx性 | 高清视频一区二区三区 | h视频在线观看免费 | 色综合一区 | 91久久精品日日躁夜夜躁国产 | 成人久久18免费 | 色婷婷亚洲一区二区三区 | 欧美激情精品久久久久 | 国产精品久久久久久妇女6080 | 亚洲国产成人精品女人久久久野战 | 日韩一区二区在线播放 | 国产电影一区二区 | 国产精品乱码一区二区三区 | 精品久久久久久国产 | 亚洲精品字幕 | 日本网站免费在线观看 | 97精品视频在线 | 波多野结衣在线观看一区二区三区 | 精品国产乱码久久久久久牛牛 | 黄色av网站在线免费观看 | 男女污污网站 | 99re在线视频| 在线观看www视频 | 国产精品九九九 | 91九色视频| 亚洲区视频| 亚洲精品二区 | 亚洲精品免费观看 | 盗摄精品av一区二区三区 |