我正在运行一个脚本,该脚本获取我正在监视的某些站点的Invoke-WebRequest状态代码(例如504、400、200等)。

我正在使用TRAP方法将错误协议(protocol)化为文本文件,可以对其进行审查以供以后分析。

代码如下:

Trap
{
write-host ("An error has occurred: "+$_.exception.message)
Write-Host ("Please see error message or log file")
$_.Exception.Message+" "+(Get-Date) | Out-File -Append "$PSScriptRoot\log.txt"
$_.Exception.InnerException.Message | Out-File -Append "$PSScriptRoot\log.txt"
$site                               | Out-File -Append "$PSScriptRoot\log.txt"
"---------------------------------" | Out-File -Append "$PSScriptRoot\log.txt"
}

题:
我可以排除陷阱某些错误代码,例如“503”吗?

最佳答案

不幸的是,由于TRAP始终适用于整个SCOPE,因此似乎无法过滤或限制trap语句。

但是您可以做的是将error_type拆分为几个TRAPS,例如:

"trap [[error_type]] {statement_list}"

关于powershell - 在Powershell中从TRAP排除错误代码,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/62041502/

10-12 20:03