【问题标题】:PowerShell try/catch/finally not working for New-EventLogPowerShell tr​​y/catch/finally 不适用于 New-EventLog
【发布时间】:2019-01-31 06:53:33
【问题描述】:

我的一个 PowerShell 脚本中的 try catch finally 似乎有问题。我似乎无法在我的块中发现 System.InvalidOperationException 错误。如有任何建议,我将不胜感激。

try {
    New-EventLog -LogName Application -Source "Update Service";
} catch [System.InvalidOperationException] {
    Write-Host "Error";
    Write-Host $Error[0].Exception;
} finally {
    $ErrorActionPreference = "Continue";
}

【问题讨论】:

  • 我忘了说,当 New-EventLog 源已经存在时,我得到了错误。

标签: powershell try-catch


【解决方案1】:

您无法捕获该异常,因为它首先不是InvalidOperationException

$ErrorActionPreference = 'Stop'
try {
    New-EventLog -LogName Application -Source 'Update Service'
} catch {
    $_.Exception.GetType().FullName   # Output: System.Exception
} finally{
    $ErrorActionPreference = 'Continue'
}

【讨论】:

  • 您好 Ansgar,感谢您的帮助。这样效果更好。
猜你喜欢
  • 2011-10-10
  • 1970-01-01
  • 2020-02-09
  • 1970-01-01
  • 2015-12-14
  • 2022-12-03
  • 1970-01-01
  • 1970-01-01
  • 2019-06-29
相关资源
最近更新 更多