国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁 > 編程 > Perl > 正文

Perl中捕獲警告信息、異常信息并寫入日志詳解

2020-06-04 20:33:54
字體:
來源:轉載
供稿:網友

雖然建議在每個Perl腳本和模塊中開啟警告,可是你又不想用戶看到Perl發出的警告。

一方面你想在代碼前面使用use warnings作為你的安全網,另一方面,通常警告會出現在屏幕上。多數情況下,客戶不知道如何處理這些警告。如果幸運的話這些警告僅僅讓客戶驚訝一下,當然,不幸的是他們嘗試著去修復它們... (這里說的不是Perl程序員。)

第三方面,你或許想要保存這些警告供之后分析。

此外,在很多地方還有很多Perl腳本和應用程序沒有使用use warnings也沒有在#!行中使用-w。加上了use warnings就可能會產生大量的警告。

長遠來看,當然是要消除這些警告,但是短期來說呢?

即便是長期計劃,你也不能寫出完全沒有BUG的代碼,你也不能確保應用將來永遠不會打印出警告信息。

你能么?

你可以在警告打印到屏幕之前捕獲它們。

信號
Perl有一個叫做%SIG的內建hash表,其中的鍵是操作系統信號的名字。對應的值是函數(大多數是函數引用),這些函數會在特定的信號觸發時被調用。

除了系統提供的標準信號以外,Perl還添加了兩個內部“信號”。其中一個是<h__warn__< span="">,它在每次代碼調用warn()函數的時候觸發。另外一個是__DIE__,它在每次調用die()時觸發。

在本文中,我們會看到這些是怎樣影響警告信息的。

匿名函數

sub { }是匿名函數,也就是一個只有函數體而沒有名字的函數。(在這個例子中函數體也是空的,但是我希望你能明白我的意思。)

捕獲警告--不處理

如果添加如下代碼:
代碼如下:
  local $SIG{__WARN__} = sub {
     # 此處可以獲得警告信息
  };

這實際上表示每次程序的某個地方產生了警告信息時,不做任何處理。基本上,這會隱藏所有的警告。

捕獲警告--并轉換成異常

You could also write: 你也可以寫成:
代碼如下:
  local $SIG{__WARN__} = sub {
    die;
  };

這樣會在每次產生警告的時候調用die(),也就是把每個警告轉換成異常。

如果你想在異常中包含警告信息,可以這么寫:
代碼如下:
  local $SIG{__WARN__} = sub {
    my $message = shift;
    die $message;
  };

實際的警告信息會作為唯一的參數傳遞給匿名函數。

捕獲警告--并寫入日志
你可能想在中間做些其他事情:

過濾嘈雜的警告信息,留待后來分析:
代碼如下:
  local $SIG{__WARN__} = sub {
    my $message = shift;
    logger($message);
  };

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
国产在线www| 国产激情视频网址| 91欧洲在线视精品在亚洲| 开心激情五月婷婷| 免费一区二区在线观看| 麻豆精品传媒视频观看| 午夜伦全在线观看| 国产系列在线观看| av大片在线| 69国产精品| 欧美日韩在线资源| 国产日产一区二区三区| 亚洲精品视频区| 国产乱视频在线观看播放| 国产日韩网站| 欧美一级久久久久久久久大| 国产毛片视频| 99在线免费观看| 国产美女在线免费观看| av日韩国产| 国产视频中文字幕在线观看| 91亚洲欧美| 国产中文字幕在线| 精品国产福利一区二区在线| 尤物在线视频观看| 最新中文字幕在线视频| 老司机在线视频二区| 国产福利在线视频| 国产麻豆一区二区三区精品 | 午夜av电影| 四虎成人免费| 综合激情亚洲| 国产中文字幕第一页| 香蕉视频在线观看网站| 国产成免费视频| 国产日本视频| 五月天丁香在线| 九七电影韩国女主播在线观看| 国产福利在线| ·天天天天操| 国产视频三区| 中文字幕在线影视资源| 激情丁香久久| 黄色激情网址| 国产麻豆视频| 国产天堂视频| 国产对白国语对白| 国产经典av| 精品一区二区三区在线观看l| 国产一级又黄| 国产精品毛片一区二区三区四区| 美女国产在线| 国产老肥熟xxxx在线观看| 国产麻豆一区二区三区精品| 国产乱子视频| 国产精品合集一区二区| 国产变态拳头交视频一区二区| 99热国产在线| 嫩草在线播放| 国产精品偷乱一区二区三区 | 女人色在线免费视频| 一区二区免费播放| 亚洲国产成人综合| 久久精品蜜桃| 国内外激情在线| 超碰免费在线观看| √天堂中文在线| 伊人网在线免费观看| xxx国产精品| 国产精品入口麻豆免费观看| 国产xxxx做受性欧美88| 欧美日韩视频精品一区二区| 五月婷婷视频在线观看| 操人视频91| 国产三级香港三韩国三级| sese一区| 97中文字幕| 国产精选在线观看| 午夜在线视频| 国产va在线观看| 男女午夜视频在线观看| 在线播放黄色网址| 国产精品视频一区二区图片| 福利视频网站导航| xxx国产精品| 一级黄色av| 精品亚洲成a人片在线观看| 日本中文字幕在线看| 欧洲一区av| 蜜桃av在线免费观看| 中文天堂av| 国产黄a三级三级三级av在线看 | 天天草天天爽| 国产女人伦码一区二区三区不卡| 亚洲精品在线播放视频| 国产精品视频h| 国产情侣高潮对白| 中文字幕色视频| 久久综合第一页| 欧美亚洲另类在线观看| av在线不卡网站| 亚洲日本伊人| 青青草原av在线| 久久精品无码一区二区日韩av| 在线国产中文字幕| 在线观看中文字幕| www.操.com| 久久精品视频免费看| 亚洲最新永久观看在线| av片在线观看永久免费| 日本一二区视频| www.香蕉视频在线观看| 欧美啪啪精品| 老师我好爽再深一点的视频| 美女网站在线观看| 中文字幕视频在线| 国产精品四虎| av丝袜在线| 国产自产视频| 国产xxxxx| 青青青青在线| 国产色在线播放| h网站久久久| 二区三区中文字幕| 精品一区二区三区在线成人| 欧美高清视频| 6699久久国产精品免费| 久艹在线视频| 亚洲一区免费在线| 国产秀色在线www免费观看| www.毛片| 99久热re在线精彩视频| 国产中文字幕在线播放| 中文字幕在线免费| 美女永久在线网站| 一区二区精品区| 狠狠干五月天| 99在线视频观看| 国产乱子伦三级在线播放| 在线观看视频污| 国产成人午夜| 国产伦精品一区二区三区高清版禁 | 亚洲大香人伊一本线| 午夜免费视频在线国产| 午夜在线不卡| 一区二区免费播放| 最新黄网在线观看| 粉嫩av一区| 国产在线你懂得| а√资源新版在线天堂| av亚洲男人天堂| 91在线看片| 国产xxx在线| 精品一区二区三区免费站| 国产视频资源| 国产一级黄色| 国产一卡二卡3卡4卡四卡在线| 国产在线传媒| 99热在线观看免费| 中文字幕视频在线观看| 国产一卡2卡3卡4卡网站免费| 久久精品免视着国产成人| 免费在线超碰| 九九热在线播放| 中文字幕亚洲免费| 91久久精品国产性色| 在线观看午夜av| 欧美日韩不卡中文字幕在线| 九九色在线观看| 国产自产视频| 国产色在线 com| 亚洲人av在线| 国产中文在线观看| 国产黄色av免费看| 亚洲欧美综合乱码精品成人网 | 中文乱码字幕高清在线观看| 国产成人精品18| 中文字幕av在线| 欧美激情福利视频在线观看免费| 狠狠干在线视频| 国产视频中文字幕| 一级二级在线观看| 超碰在线网址| 国产91足控脚交在线观看| www.久草.com| 国产三区四区在线观看| 日本在线视频www鲁啊鲁| 国产女呦网站| 国产精品午夜久久久久久| 国产福利一区二区在线精品| 亚洲欧美综合乱码精品成人网| 美女av在线播放| 国产超碰精品在线观看| 浪潮av一区| 中文岛国精品亚洲一区| 国产嫩草在线视频| av在线第一页| 精品一区二区在线欧美| 欧美日韩国产亚洲沙发| 91欧洲在线视精品在亚洲|