在編程的時候,我們難免會遇到一些不可靠的情況,比如網絡請求失敗,數據庫連接超時等等。這些不確定性會讓我們的程序容易出現各種錯誤和異常。那么如何來增加程序的容錯性和健壯性呢?
可能大多數人會想到使用try except來進行異常捕捉進行失敗重試(Retry)。雖然try-escept一個非常常見和有效的方式來增強程序穩定性,但是可能一不小心就會造成棧溢出。
所以接下來我就來介紹一個另外的一個專門用于失敗重試的庫:retrying。
定義
在Python生態中,retrying庫提供了非常便捷的裝飾器和函數來幫助我們輕松添加失敗重試機制。它可以自定義重試策略、停止條件、等待間隔等,對各種異常進行捕捉處理。使用retrying可以大大減少我們重復編寫失敗重試輪詢的代碼量。
下載retrying
pip install retrying
無參數重試
我們可以直接在函數上使用裝飾器@retry來進行失敗重試
import retrying
@retry
def func():
for item in range(0,100):
result=item / 0
print(result)
return result
func()
但是這種方式并不建議使用,就像上面的代碼,我們都知道0作為除數就會報錯,在上面的func函數中,因為加了@retry裝飾器進行失敗重試,這樣就就會進入一個死循環一直失敗一直重試。
所以我們在進行失敗重試的時候最好是需要加上一些參數來限制失敗重試。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
編程
+關注
關注
90文章
3716瀏覽量
97191 -
數據庫
+關注
關注
7文章
4020瀏覽量
68353 -
python
+關注
關注
57文章
4876瀏覽量
90040
發布評論請先 登錄
相關推薦
熱點推薦
Python如何管理所用的全部依賴庫
:Python 中如何實現自動導入缺失的庫?》 中,我提到了一種常規的方法: pip freeze requirements.txt 這種方法用起來方便,但有幾點不足: 它搜索依賴
發表于 11-21 11:16
?1930次閱讀
自定義Python PyPI存儲庫
軟件包的依賴關系,而不考慮版本棄用或最新的向后不兼容版本。當然,這可以通過在requirements.txt中定義版本來完成,但是要確保我們得到的每個軟件包都像我們期望的那樣,最好使用自定義存儲庫
發表于 09-14 15:59
關于《Python編程入門系列教程》說明及教程匯總
成為了我們了解人工智能的首選編程軟件。二、關于教程本教程以純軟件的編程為主,并不涉及任何的硬件部分。程序編寫部分以Mind+軟件中的“Python 模式”為開發工具(自帶基于Python
發表于 06-23 10:10
詳解Python中的Pandas和Numpy庫
pandas、numpy是Python數據科學中非常常用的庫,numpy是Python的數值計算擴展,專門用來處理矩陣,它的運算效率比列表更高效。
關于python中非常實用的一個圖像處理庫 1
PIL:Python Imaging Library,是Python環境下最受歡迎的圖像處理庫,木有之一。然而,在Python2.7之后不再
關于python中非常實用的一個圖像處理庫 2
PIL:Python Imaging Library,是Python環境下最受歡迎的圖像處理庫,木有之一。然而,在Python2.7之后不再
如何安裝常用Python庫
Python作為一種流行的編程語言,擁有豐富的第三方庫資源,這些庫可以幫助開發者輕松實現各種功能,從數據分析到Web開發,從機器學習到圖像處理,涵蓋了各個領域。在
Python中telnetlib模塊的基本使用
telnetlib 是 Python 標準庫中的一個模塊,它提供了 Telnet 協議的客戶端功能。使用 telnetlib 模塊,我們可以在 Py
python有什么用 如何用python創建數據庫
開發、游戲開發、機器學習、自然語言處理等領域。 在本文中,我們將介紹如何使用Python創建數據庫。首先,讓我們了解一下什么是數據庫。 什么是數據庫
python讀取數據庫數據 python查詢數據庫 python數據庫連接
,獲取數據庫中的數據,并對數據進行增刪改查等操作。本文將詳細介紹Python如何連接數據庫、讀取數據庫數據以及如何進行查詢操作。 一、
Python庫中oloredlogs的使用
coloredlogs介紹 coloredlogs是一個Python庫,它允許開發人員在控制臺打印彩色日志。這個庫的主要優點是它可以很容易地改變日志消息的顏色,從而使日志更易于閱讀和理
Python中retrying庫的有參數重試
有參數重試 (1) stop_max_attempt_number 在retry中傳入stop_max_attempt_number參數后可以指定失敗重試的次數 @retry
在Python中關于retrying庫的使用
評論