使用WebCmdLet时,在PowerShell中显示内部.NET异常

本文关键字:显示 内部 NET 异常 PowerShell WebCmdLet 使用 | 更新日期: 2023-09-27 18:26:22

对于一个项目,我们使用WebCmdLet属性和.tt文件为我们生成Cmdlet。为了使用这些Cmdlet,我们在使用PowerShell时使用导入模块加载DLL文件。

当.NET代码出现错误时,它显然会引发异常,但这被封装在PowerShell命令窗口中显示的WebException中。问题是,它只显示WebException,而不是最初导致抛出的Exception。

如何在PowerShell命令窗口中显示原始异常?

我曾尝试使用$ErrorRecord$Exception.InnerException,但当堆栈跟踪命中CmdLet的方法ProcessRecord()时,这似乎停止了工作。

使用WebCmdLet时,在PowerShell中显示内部.NET异常

尝试

$Error[0].Exception.InnerException

参见http://blogs.msdn.com/b/kebab/archive/2013/06/09/an-introduction-to-error-handling-in-powershell.aspx