色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

只需9個步驟,完美實現自動化運維異常處理!

馬哥Linux運維 ? 來源:lq ? 2019-02-04 13:51 ? 次閱讀

1異常

異常就是非正常狀態,在Python中使用異常對象來表示異常。若程序在編譯或運行過程中發生錯誤,程序的執行過程就會發生改變,拋出異常對象,程序流進入異常處理。如果異常對象沒有被處理或捕捉,程序就會執行回溯(Traceback)來終止程序。

2異常類型

通用異常類型表

Exception類:是通用異常基類下列異常類均繼承于Exception類,python解析器會自動將通用異常類型名稱放在內建命名空間中,所以當使用通用異常類型時,不需要import exceptions模塊。

3異常處理

3.1 觸發異常raiseraise關鍵字:手動拋出一個通用的異常類型(Exception),類似Java中的throw語句。raise關鍵字后跟異常的名稱,異常名稱能夠標識出異常類的對象。執行raise語句時,python會創建指定異常類的對象,還能夠指定對異常對象進行初始化的參數,參數也可以為由若干參數組成的元組。注意:一旦執行raise語句,程序就會被終止。格式:raise [exceptionType[,argument][,traceback]]

traceback:這個參數用于追蹤異常對象,一般很少使用。這樣就可以觸發一個異常,并且接收異常信息。3.2 傳遞異常當你捕獲到異常之后又希望再次的觸發異常只需要使用不帶任何參數的raise關鍵字。

異常會在捕獲之后再次觸發同一個異常。3.3 assert語句觸發異常assert語句根據后面的表達式的真假來控制程序流。若為True,則往下執行。若為False,則中斷程序并調用默認的異常處理器,同時輸出指定的提示信息。

例如:

執行結果:

3.4 捕獲異常try..except..else注意:except子句的數量沒有限制,但使用多個except子句捕獲異常時,如果異常類之間具有繼承關系,則子類應該寫在前面,否則父類將會直接截獲子類異常。放在后面的子類異常也就不會執行。格式:

4try的工作原理

執行一個try語句時,python解析器會在當前程序流的上下文中作標記,當出現異常后,程序流能夠根據上下文的標記回到標記位,從而避免終止程序。1. 如果try語句執行時發生異常,程序流跳回標記位,并向下匹配執行第一個與該異常匹配的except子句,異常處理完后,程序流就通過整個try語句(除非在處理異常時又引發新的異常)。2. 如果沒有找到與異常匹配的except子句(也可以不指定異常類型或指定同樣異常類型Exception,來捕獲所有異常),異常被遞交到上層的try(若有try嵌套時),甚至會逐層向上提交異常給程序(逐層上升直到能找到匹配的except子句。實在沒有找到時,將結束程序,并打印缺省的錯誤信息)。3. 如果在try子句執行時沒有發生異常,python將執行else語句后的語句(可選),然后控制流通過整個try語句。

執行結果:

嵌套try:

執行結果:

5捕捉多個異常

方法一:指定一個通用異常,可以捕獲多個不同的包含在Exception類中的異常類。

方法二:在一個except子句后將多個異常作為元組元素列出。

方法三:except子句后不帶任何異常名稱,捕獲所有異常

6try..finally語句

無論try語句塊中是否觸發異常,都會執行finally子句中的語句塊,因此一般用于關閉文件或關閉因系統錯誤而無法正常釋放的資源。比如文件關閉,釋放鎖,把數據庫連接返還給連接池等。

注意:try..finally與try..except 是可以同時使用的。

NOTE:try…finally 的意義在于,就是我們在 try 代碼塊中執行了 return 語句,但是仍然會繼續執行在 finally 中的代碼塊,所以我們一般用作處理資源的釋放。

7自定義異常

通過(直接或簡介)繼承Exception類來創建一個自定義異常類,自定義的異常類只能通過raise關鍵字來手動觸發。

執行結果:

with..as觸發異常自動關閉資源在使用類文件的流對象時,都需要單獨的調用close()來關閉資源。with..as語句能夠實現在with語句塊執行完后,自動的關閉文件。如果with語句塊中觸發異常,會調用默認的異常處理器處理,而且文件仍然能夠正常關閉。

執行結果:

8as獲取異常信息

每個異常都會有一定的描述信息,可以通過as關鍵字來獲取。但是這種異常信息并不適合一般用戶閱讀,所以會使用自定義的異常信息。但是仍然會將原有的異常信息保留起來,用于后期的異常分析。

執行結果:

異常參數

也可以使用異常參數作為輸出的異常信息參數,來獲取異常信息。并且異常參數中包含有異常信息、錯誤數字、錯誤位置等屬性。

執行結果:

9traceback追蹤異常

使用traceback追蹤異常的時候,需要import traceback模塊。traceback模塊可以有效的幫助查看異常的詳細信息。注意:若希望獲取異常的詳細信息,卻又不會終止程序的執行,可以在except子句中使用

輸出sys.exc_type, sys.exc_value, sys.exc_traceback, limit, file等異常信息,實際上是以線程安全的方式去使用sys.exc_info()函數來獲取相同的信息。

執行結果:

異常信息的重定向:如果希望將異常的信息保存在一個指定的文件中,以供后期分析。可以使用下面的方法:

執行結果:

sys.exc_info()獲取異常信息

traceback.print_exc()函數實際上是call sys.exc_info()

執行結果:

異常處理用于處理程序錯誤之外,還有許多應用的地方。如關閉資源、平臺兼容、模塊導入等。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 處理器
    +關注

    關注

    68

    文章

    19404

    瀏覽量

    230813
  • 自動化
    +關注

    關注

    29

    文章

    5620

    瀏覽量

    79535
  • python
    +關注

    關注

    56

    文章

    4807

    瀏覽量

    84961

原文標題:只需9個步驟,完美實現自動化運維異常處理!

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    誠聘高級自動化工程師

    獵頭職位:高級自動化工程師【合肥】工作職責: 1、根據基礎架構管理需求,規劃設計
    發表于 12-12 10:37

    銳捷助互聯網數據中心網絡自動化、可視

    自動化可視等目的。目前銳捷能夠實現基于OpenStack、KVM、Docker等虛擬
    發表于 01-25 09:42

    Linux都要會哪些shell技能

    。兩者之間,shell幾乎是IT企業必須使用的自動化編程語言,特別是在運工作中的服務監控、業務快速部署、服務啟動停止、數據備份及處理
    發表于 11-30 17:38

    步驟實現自動化測試

    本文介紹自動化測試的 7 步驟:改進自動化測試過程,定義需求,驗證概念,支持產品的可測試性,具有可延續性的設計( design for sustainability ),有計劃的部署
    發表于 07-18 07:42

    步驟完成自動化測試

    ,關鍵問題是遵循軟件開發的基本規則。本文介紹自動化測試的 7 步驟:改進自動化測試過程,定義需求,驗證概念,支持產品的可測試性,具有可延續性的設計( design for susta
    發表于 07-19 06:12

    ansible-first-book 自動化工具

    ansible-first-book 自動化工具
    發表于 09-08 09:31 ?5次下載

    配電自動化實用指標研究

    根據《配電自動化實用化驗收細則》中對配電自動化考核要求,重點圍繞終端在線率、遙信動作正確率、遙控使用率與遙控成功率四項指標進行考核。目前對配電
    發表于 03-05 14:55 ?0次下載

    厲害了!山東電力自動化平臺正式投

    日前,國網山東省電力集團公司通過了山東信息通信技術監督裝備及支撐工具開發實施項目的驗收,代表著自動化平臺正式投
    發表于 04-30 11:18 ?4464次閱讀

    Ansible企業級自動化探索的詳細資料說明

    本文檔的主要內容詳細介紹的是Ansible企業級自動化探索的詳細資料說明主要內容包括了:場景一:自動化
    發表于 06-03 08:00 ?2次下載
    Ansible企業級<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>探索的詳細資料說明

    城域網自動化實現的關鍵點、難點和解決方案研究

      針對城域網自動化水平較低、人工成本高且無法擺脫重復勞動的現狀,本文探討了當前城域網自動化
    發表于 10-28 09:09 ?2671次閱讀
    城域網<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b><b class='flag-5'>實現</b>的關鍵點、難點和解決方案研究

    城域網是什么,其生命周期和自動化應用有哪些特點

    Labs 摘? 要針對城域網自動化水平較低、人工成本高且無法擺脫重復勞動的現狀,本文探討了當前城域網
    的頭像 發表于 12-25 14:24 ?1151次閱讀

    使用Python腳本實現自動化任務

    許多運工程師會使用 Python 腳本來自動化任務。Python 是一種流行的編程語言,具有豐富的第三方庫和強大的自動化能力,適用于許
    的頭像 發表于 04-08 10:36 ?1746次閱讀

    網絡設備自動化工具—ansible入門筆記介紹

    Ansible是一款自動化工具,基于Python開發,集合了眾多運工具 (Puppet、CFengine、Chef、SaltStack)的優點,
    的頭像 發表于 01-15 13:46 ?2077次閱讀
    網絡設備<b class='flag-5'>自動化</b><b class='flag-5'>運</b><b class='flag-5'>維</b>工具—ansible入門筆記介紹

    自動化智能維系統在高鐵牽引變電所的研究與應用

    智能綜合自動化系統的技術,提出針對性的智能解決方案,實現對綜合
    的頭像 發表于 04-16 16:21 ?685次閱讀
    <b class='flag-5'>自動化</b>智能<b class='flag-5'>運</b>維系統在高鐵牽引變電所的研究與應用

    自動化生產車間異常告警管理系統解決方案

    隨著科技的進步,智能制造已成為全球制造業的發展趨勢。從智能機器人到自動化控制器,各種智能裝備紛紛應用于生產流程之中。這種數字轉變不僅提高了生產力,還提升了產品質量。但與此同時,也對異常響應和
    的頭像 發表于 07-27 10:36 ?398次閱讀
    <b class='flag-5'>自動化</b>生產車間<b class='flag-5'>異常</b>告警<b class='flag-5'>運</b><b class='flag-5'>維</b>管理系統解決方案
    主站蜘蛛池模板: 免费视频久久只有精品 | 一日本道伊人久久综合影 | 国产成人教育视频在线观看 | 最新高清无码专区在线视频 | 日本学生VIDEOVIDEOS更新 日本性xxx | 中文字幕免费在线视频 | 国产亚洲va在线电影 | 扒开胸罩揉她的乳尖视频 | 国产精品一区二区人妻无码 | 欧美5g影院天天爽天天看 | 乡村教师电影完整版在线观看 | 久久久精品免费视频 | 欧美亚洲精品一区二三区8V | 日韩精品久久久久久久电影 | 国产精品亚欧美一区二区三区 | 51国产偷自视频在线视频播放 | 无人区免费一二三四乱码 | 俄罗斯xxxxxbbbbb | 无码国产成人777爽死在线观看 | 野花日本完整版在线观看免费高清 | 黑人强伦姧人妻日韩那庞大的 | 日本性hd| 在公交车上被JB草坏了被轮J了 | 肉色欧美久久久久久久蜜桃 | 国产精品久久久久久久久久久 | 伸进同桌奶罩里摸她胸作文 | 调教玩弄奶头乳夹开乳震动器 | 久久电影午夜 | 三级黄色网 | 99九九精品视频 | 亚洲中文字幕无码一久久区 | 高清无码色大片中文 | 伊人AV一区二区三区夜色撩人 | 日产久久视频 | 日本亚欧热亚洲乱色视频 | 无码成人AAAAA毛片含羞草 | 亚洲精品天堂在线 | 久久性综合亚洲精品电影网 | 777福彩社区 | mxgs-877痉挛媚药按摩 | 99国产精品偷窥熟女精品视频 |