簡體   English   中英

Powershell詳細輸出鏈式異常

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM