成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Python 怎么捕獲警告?(注意:不是捕獲異常)

開發 后端
你是不是經常在使用一些系統庫或者第三方模塊的時候,會出現一些既不是異常也不是錯誤的警告信息?

本文轉載自微信公眾號“Python編程時光”(Cool-Python)。

[[387401]]

1. 警告不是異常

你是不是經常在使用一些系統庫或者第三方模塊的時候,會出現一些既不是異常也不是錯誤的警告信息?

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

實則不然,異常和錯誤,都是程序出現了一些問題,但是警告不同,他的緊急程度非常之低,以致于大多數的警告都是可以直接忽略的。

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

2. 警告能捕獲嗎

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

這樣一來,你就可以像異常一樣去捕獲他們了。

在不進行任何設置的情況下,警告會直接打印在終端上。

3. 捕獲警告方法一

在 warnings 中有一系列的過濾器。

當你指定為 error 的時候,就會將匹配警告轉換為異常。

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

  1. import warnings 
  2. warnings.filterwarnings('error')     
  3.  
  4. try: 
  5.     warnings.warn("deprecated", DeprecationWarning) 
  6. except Warning as e: 
  7.     print(e) 

運行后,效果如下

4. 捕獲警告方法二

如果你不想對在代碼中去配置將警告轉成異常。

  1. import warnings 
  2.  
  3. try: 
  4.     warnings.warn("deprecated", DeprecationWarning) 
  5. except Warning as e: 
  6.     print(e) 

可以在執行的時候,只要加上一個參數 -W error ,就可以實現一樣的效果

  1. $ python3 -W error demo.py 
  2. deprecated 

5. 捕獲警告方法三

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

當你加上 record=True 它會返回一個列表,列表里存放的是所有捕獲到的警告,我將它賦值為 w,然后就可以將它打印出來了。

  1. import warnings 
  2.  
  3. def do_warning(): 
  4.     warnings.warn("deprecated", DeprecationWarning) 
  5.  
  6. with warnings.catch_warnings(record=True) as w: 
  7.     do_warning() 
  8.     if len(w) >0: 
  9.         print(w[0].message) 

運行后,效果如下

 

責任編輯:趙寧寧 來源: Python編程時光
相關推薦

2013-05-14 11:13:40

動態捕獲PythonPython異常

2017-03-21 16:34:38

iOS捕獲異常

2021-09-26 09:40:25

React代碼前端

2022-08-16 10:44:11

Sentry前端異常

2015-02-03 14:45:55

android全局異常

2024-11-11 11:21:30

虛擬機Python跳轉表

2017-05-04 21:30:32

前端異常監控捕獲方案

2022-11-28 07:35:52

前端錯誤

2010-12-21 14:08:50

PowerShell

2009-07-15 15:09:18

2016-02-17 15:15:01

2021-01-05 07:54:55

事項trycatch

2023-12-06 09:27:46

Java程序

2021-01-31 11:47:08

C語言SetjmpLongjmp

2010-03-10 14:34:52

Python異常處理

2011-05-23 13:54:04

閉包

2009-02-18 11:44:52

求職面試HR

2009-12-30 14:28:06

Silverlight

2010-02-26 10:14:25

WCF全局錯誤捕獲

2018-12-24 13:38:25

蜜罐SSH
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 狠狠爱一区二区三区 | 精品日本中文字幕 | 黄色大片免费看 | 国产成人免费视频网站高清观看视频 | 黑人巨大精品 | 亚洲精品一区二区三区蜜桃久 | 日本欧美在线视频 | 亚洲精品久久久久久久久久久 | 91热在线| 亚洲精品久久久一区二区三区 | 欧美一区二区在线播放 | 国产乱一区二区三区视频 | 亚洲免费视频一区二区 | 9久久| 亚洲国产一区二区视频 | 热re99久久精品国产99热 | 午夜天堂精品久久久久 | 久草资源在线 | 91精品国产91久久久久久吃药 | 亚洲国产精品久久久 | 久久久久高清 | 亚洲一一在线 | 91av视频| 国产黄色在线观看 | 国产精品片aa在线观看 | 欧美日韩a | 国产小u女发育末成年 | 亚洲欧美网站 | 97日日碰人人模人人澡分享吧 | 在线四虎 | 国产一区高清 | 日韩毛片播放 | 性一爱一乱一交一视频 | 中文字幕亚洲一区二区va在线 | 国产精品自在线 | 中文精品视频 | 免费在线观看黄视频 | 亚洲一区二区三区高清 | 色播99| 日日夜夜天天 | 国产小视频在线观看 |