午夜国产狂喷潮在线观看|国产AⅤ精品一区二区久久|中文字幕AV中文字幕|国产看片高清在线

    PowerShell腳本trap語句捕獲異常寫法實例
    來源:易賢網(wǎng) 閱讀:3038 次 日期:2014-07-04 21:36:53
    溫馨提示:易賢網(wǎng)小編為您整理了“PowerShell腳本trap語句捕獲異常寫法實例”,方便廣大網(wǎng)友查閱!

    這篇文章主要介紹了PowerShell腳本trap語句捕獲異常寫法實例,包含幾個代碼實例,需要的朋友可以參考。

    先看一個腳本文件:3.three.test.ps1

    代碼如下:

    Get-FanBingbing#命令不存在

    然后這樣捕獲:

    代碼如下:

    trap[exception]

    {

    '在trap中捕獲到腳本異常'

    $_.Exception.Message

    continue

    }

    .\3.three.test.ps1

    異常捕獲成功,輸出:

    代碼如下:

    在trap中捕獲到腳本異常

    Theterm'Get-FanBingbing'isnotrecognizedasthenameofacmdlet

    接下來我把3.three.test.ps1腳本文件的內容改成:

    代碼如下:

    dirD:\ShenMaDoushiFuYun#目錄不存在

    再運行,這時沒有捕獲到異常,錯誤為:dir:Cannotfindpath‘D:\ShenMaDoushiFuYun'becauseitdoesnotexist.

    于是我想是不是因為終止錯誤與非終止錯誤的區(qū)別:所以還寫了trycatch捕獲語句,雙管齊下:

    代碼如下:

    trap[exception]

    {

    '在trap中捕獲到腳本異常'

    $_.Exception.Message

    continue

    }

    try{

    .\3.three.test.ps1

    }

    catch{

    '在catch中捕獲到腳本異常'

    $_.Exception.Message

    }

    異常仍舊:dir:Cannotfindpath‘D:\ShenMaDoushiFuYun'becauseitdoesnotexist.

    看來問題不在這里。事實上是ErrorActionReference的問題,這樣改就OK啦:

    代碼如下:

    trap[exception]

    {

    '在trap中捕獲到腳本異常'

    $_.Exception.Message

    continue

    }

    $ErrorActionPreference='stop'

    .\3.three.test.ps1

    輸出為:

    代碼如下:

    在trap中捕獲到腳本異常

    Cannotfindpath'D:\ShenMaDoushiFuYun'becauseitdoesnotexist.

    簡單分析:

    像Get-FanBingbing這樣的異常,是因為命令不存在,確切來講屬于語法錯誤,級別比較高被trap到了。但是像目錄找不到這樣的異常,相對而言級別比較低,默認不能捕獲到,除非顯示指定ErrorAction為stop。

    更多信息請查看IT技術專欄

    更多信息請查看腳本欄目
    易賢網(wǎng)手機網(wǎng)站地址:PowerShell腳本trap語句捕獲異常寫法實例

    2025國考·省考課程試聽報名

    • 報班類型
    • 姓名
    • 手機號
    • 驗證碼
    關于我們 | 聯(lián)系我們 | 人才招聘 | 網(wǎng)站聲明 | 網(wǎng)站幫助 | 非正式的簡要咨詢 | 簡要咨詢須知 | 新媒體/短視頻平臺 | 手機站點 | 投訴建議
    工業(yè)和信息化部備案號:滇ICP備2023014141號-1 云南省教育廳備案號:云教ICP備0901021 滇公網(wǎng)安備53010202001879號 人力資源服務許可證:(云)人服證字(2023)第0102001523號
    聯(lián)系電話:0871-65099533/13759567129 獲取招聘考試信息及咨詢關注公眾號:hfpxwx
    咨詢QQ:1093837350(9:00—18:00)版權所有:易賢網(wǎng)