[英]Powershell verbose output for chained exceptions
我是PowerShell的新手,並使用我們的一個自定義cmdlet解決問題。 默認情況下,cmdlet中拋出的所有異常都具有最少的信息,沒有堆棧跟蹤,也沒有關於鏈接異常的信息。 有沒有辦法啟用異常的詳細輸出?
$ error集合包含當前會話中拋出的所有未處理異常的實時列表。 最后一個例外是$ error [0]。 這樣做的好方法是盡快捕獲錯誤:
ps> invoke-something
error: ...
ps> $e = $error[0]
使用get-member探索$ e。
我已經使用這種技術來獲取嵌套的錯誤對象:
$error[0]|format-list -force
這是一個很好的功能,我從'net :)上的某個人那里偷了。 我在我的個人資料中有它,並會愉快地進一步傳播它:
#Get detailed information on an error
function Resolve-Error ($ErrorRecord=$Error[0])
{
$ErrorRecord | Format-List * -Force
$ErrorRecord.InvocationInfo |Format-List *
$Exception = $ErrorRecord.Exception
for ($i = 0; $Exception; $i++, ($Exception = $Exception.InnerException))
{ "$i" * 80
$Exception |Format-List * -Force
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.