主頁(yè) > 知識(shí)庫(kù) > python捕獲警告的三種方法

python捕獲警告的三種方法

熱門標(biāo)簽:地圖標(biāo)注推廣單頁(yè) 西藏快速地圖標(biāo)注地點(diǎn) 長(zhǎng)春人工智能電銷機(jī)器人官網(wǎng) 如何在地圖標(biāo)注文字 ai地圖標(biāo)注 廈門crm外呼系統(tǒng)如何 女王谷地圖標(biāo)注 n400電話申請(qǐng)多少錢 百應(yīng)ai電銷機(jī)器人鄭州

1. 警告不是異常

你是不是經(jīng)常在使用一些系統(tǒng)庫(kù)或者第三方模塊的時(shí)候,會(huì)出現(xiàn)一些既不是異常也不是錯(cuò)誤的警告信息?

這些警告信息,有時(shí)候非常多,對(duì)于新手容易造成一些誤判,以為是程序出錯(cuò)了。

實(shí)則不然,異常和錯(cuò)誤,都是程序出現(xiàn)了一些問(wèn)題,但是警告不同,他的緊急程度非常之低,以致于大多數(shù)的警告都是可以直接忽略的。

如果不想顯示這些告警信息,可以直接加上參數(shù)  -W ignore 參數(shù),就不會(huì)再顯示了。

2. 警告能捕獲嗎

能捕獲的只有錯(cuò)誤異常,但是通過(guò)一系列的操作后,你可以將這些警告轉(zhuǎn)化為異常。

這樣一來(lái),你就可以像異常一樣去捕獲他們了。

在不進(jìn)行任何設(shè)置的情況下,警告會(huì)直接打印在終端上。

3. 捕獲警告方法一

在 warnings 中有一系列的過(guò)濾器。

當(dāng)你指定為 error 的時(shí)候,就會(huì)將匹配警告轉(zhuǎn)換為異常。

之后你就可以通過(guò)異常的方式去捕獲警告了。

import warnings
warnings.filterwarnings('error')    

try:
    warnings.warn("deprecated", DeprecationWarning)
except Warning as e:
    print(e)

運(yùn)行后,效果如下

4. 捕獲警告方法二

如果你不想對(duì)在代碼中去配置將警告轉(zhuǎn)成異常。

import warnings

try:
    warnings.warn("deprecated", DeprecationWarning)
except Warning as e:
    print(e)

可以在執(zhí)行的時(shí)候,只要加上一個(gè)參數(shù) -W error ,就可以實(shí)現(xiàn)一樣的效果

$ python3 -W error demo.py
deprecated

5. 捕獲警告方法三

除了上面的方法之外 ,warnings 還自帶了個(gè)捕獲警告的上下文管理器。

當(dāng)你加上 record=True 它會(huì)返回一個(gè)列表,列表里存放的是所有捕獲到的警告,我將它賦值為 w,然后就可以將它打印出來(lái)了。

import warnings

def do_warning():
    warnings.warn("deprecated", DeprecationWarning)

with warnings.catch_warnings(record=True) as w:
    do_warning()
    if len(w) >0:
        print(w[0].message)

運(yùn)行后,效果如下

以上就是python捕獲警告的三種方法的詳細(xì)內(nèi)容,更多關(guān)于python 捕獲警告的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

您可能感興趣的文章:
  • Python爬蟲之Selenium警告框(彈窗)處理
  • Python如何輸出警告信息
  • Python warning警告出現(xiàn)的原因及忽略方法
  • python 彈窗提示警告框MessageBox的實(shí)例
  • Python3 pip3 list 出現(xiàn) DEPRECATION 警告的解決方法

標(biāo)簽:拉薩 亳州 黔東 興安盟 渭南 內(nèi)江 綿陽(yáng) 廊坊

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《python捕獲警告的三種方法》,本文關(guān)鍵詞  python,捕獲,警告,的,三種,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《python捕獲警告的三種方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于python捕獲警告的三種方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章