国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > PowerShell > 正文

PowerShell捕獲錯(cuò)誤的2種方法(異常捕獲命令、錯(cuò)誤變量)

2020-05-30 20:10:57
字體:
供稿:網(wǎng)友

在先前的技巧中你能觀察到使用了 “-ErrorAction Stop”結(jié)合“異常捕獲命令”能捕獲一個(gè)Powershell命令的錯(cuò)誤,可是使用了這種方式操作之后,腳本會(huì)在第一個(gè)錯(cuò)誤發(fā)生后停止。

下面舉例:使用Powershell遞歸掃描文件夾。它將不能完成捕獲中間所有的異常(例如某些子文件夾是受訪問保護(hù)的)。
代碼如下:
try
{
  Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorAction Stop
}
catch
{
  Write-Warning "Error: $_"
}
代碼捕獲了第一個(gè)錯(cuò)誤,這時(shí)命令將停止且不會(huì)繼續(xù)掃描剩下的子文件夾。


如果你只是抑制錯(cuò)誤,你將完成執(zhí)行,但是“異常捕獲命令”將無法捕獲到任何錯(cuò)誤信息。

代碼如下:
try
{
  Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorAction SilentlyContinue
}
catch
{
  Write-Warning "Error: $_"
}
所以如果你想連續(xù)執(zhí)行且獲得沒權(quán)限訪問的目錄,完全不需要使用“異常捕獲命令”,你可以指定變量來獲得所有錯(cuò)誤報(bào)告:
代碼如下:
Get-ChildItem -Path $env:windir -Filter *.ps1 -Recurse -ErrorAction SilentlyContinue -ErrorVariable myErrors

Foreach ($incidence in $myErrors)
{
    Write-Warning ("Unable to access " + $incidence.CategoryInfo.TargetName)
}

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 清新县| 屏东县| 隆林| 连江县| 苏尼特左旗| 旬阳县| 米脂县| 涿鹿县| 阿巴嘎旗| 共和县| 隆林| 揭阳市| 嵊州市| 如皋市| 乾安县| 九龙城区| 弥勒县| 惠东县| 吴桥县| 江安县| 南和县| 松溪县| 兴安县| 绥江县| 高雄市| 井研县| 安西县| 左权县| 呼图壁县| 江西省| 满城县| 华坪县| 繁峙县| 随州市| 萝北县| 湘潭县| 长宁区| 宁夏| 宁津县| 钟山县| 天门市|