Недавно у меня возникла эта странная проблема, когда мое исключение перехватывалось в моем блоке catch, но при повторном вызове оно завершает сценарий (как и ожидалось), но не записывает повторно созданное исключение в консоль. Меня не беспокоит выбрасываемое исключение specifici c, меня интересует только то, что исключение генерируется повторно, а трассировка стека выводится на консоль. Я использую PowerShell 4.
try {
$variable1 = 'value1'
$variable2 = 'value2'
[string[]]$variable3 = 'value3'
[Collections.Generic.List[Microsoft.PowerShell.Commands.MatchInfo]]$matches = New-Object Collections.Generic.List[Microsoft.PowerShell.Commands.MatchInfo]
$matches = `
Get-Matches `
-Param1 $variable1 `
-Param2 $variable2 `
-Param3 $variable3 `
-Silent $true
Write-Host `n`nTotal Matches Found: $matches.Count
} catch {
throw $_
}
Я также попытался внести следующие изменения в блок catch:
} catch {
throw
}
} catch {
throw $_.Exception
}
} catch {
throw $_.Exception.Message
}
} catch {
throw $error[0].Exception
}
} catch {
throw $error[0].Exception.Message
}