我有可靠地生成異常的代碼。這是預期的,所以我不希望它出現在我的腳本結尾,當我轉儲$ error變量來查找實際問題時。不可捕捉異常(PowerShell)
第1步是找到這個異常並處理它,對吧?我不能那麼遠。這裏是我的本錢:
Function Add-PowerShellSnapIn($SnapInName){
Try{
if ((Get-PSSnapin -Name $SnapInName) -eq $null){
Write-Warning "SnapIn Is Not Already Loaded"
}
}Catch [System.Exception]{
Write-Warning "Error Caught"
}
}
Add-PowerShellSnapIn -SnapInName "Microsoft.Exchange.Management.PowerShell.Admin"
如果我運行此代碼,可以看我的例外,但我從來沒有看到我的小「寫警告」測試消息,表明Catch塊捕捉到的異常。我必須在這裏錯過一些東西。這裏是我看到的例外:
Get-PSSnapin:找不到匹配模式'Microsoft.Exchange.Management.PowerShell.Admin'的Windows PowerShell管理單元。檢查模式,然後再次嘗試該命令。 在C:\用戶\ myuser的\桌面\ Test.ps1:4字符:20 + IF((GET-PSSnapin < < < < -Name $ SnapInName)-eq $ NULL){ + CategoryInfo:InvalidArgument:(微軟.Excha ... owerShell.Admin:字符串)[獲取-PSSnapin],PSArgumentException + FullyQualifiedErrorId:NoPSSnapInsFound,Microsoft.PowerShell.Commands.GetPSSnapinCommand
編輯:預先感謝任何人誰花時間幫我出來了!
就是這樣,謝謝! – JLA