Powershell尝试catch捕获异常,但-ErrorVariable不会

时间:2015-04-22 10:20:52

标签: powershell

以下代码捕获异常(因为路径无效)并转到catch块:

try
{
    Test-Path "HKLM:\test [C:\test]"
}
catch
{
    Write-Host "exception caught"
}

但是这个不会在errorVariable中存储任何内容:

Test-Path "HKLM:\test [C:\test]" -ErrorVariable errorVariable

有人能解释一下是什么原因吗?

1 个答案:

答案 0 :(得分:1)

在cmdlet实际执行之前,在binging阶段发生异常。因此,Test-Path cmdlet未执行,并且未在其错误流中写入任何错误。