Исключить коды ошибок из TRAP в Powershell - PullRequest
0 голосов
/ 27 мая 2020

Я запускаю сценарий, который извлекает коды состояния Invoke-WebRequest некоторых сайтов, которые я отслеживаю (например, 504, 400, 200 и т. Д.).

Я использую метод TRAP для протоколирования ошибок в текстовый файл, который может быть просмотрен для последующего анализа.

Код выглядит следующим образом:

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»?

1 Ответ

0 голосов
/ 28 мая 2020

К сожалению, похоже, что операторы ловушки не могут быть отфильтрованы или ограничены, потому что TRAP всегда применяется ко всей SCOPE.

Но что вы можете сделать, так это разделить error_type на несколько TRAPS, например:

"trap [[error_type]] {statement_list}"
...