Invoke-Sqlcmd2 не завершается при ошибке
Есть ли способ сделать функцию Invoke-Sqlcmd2
не завершать остальную часть скрипта при неудаче?
Я хочу, чтобы остальная часть моего сценария продолжала выполняться, даже если эта команда не выполнена.
Я копался в коде и думал, что это как-то связано с -ErrorAction
параметр.
Ниже строка 488 сценария:
Catch # For other exception
{
Write-Verbose "Capture Other Error"
$Err = $_
if ($PSBoundParameters.Verbose) {Write-Verbose "Other Error: $Err"}
switch ($ErrorActionPreference.tostring())
{
{'SilentlyContinue','Ignore' -contains $_} {}
'Stop' { Throw $Err} # Removing this line doesn't work
'Continue' { Throw $Err}
Default { Throw $Err}
}
}
Любые идеи о том, как заставить эту команду "не завершать"?
Решение: Спасибо за информацию. Я закончил оборачивать секцию обработки ошибок invoke-sqlcmd2 в ловушку try-catch.
1 ответ
Решение
Поместите Invoke-SQLCMD2 в блок try catch и, возможно, зарегистрируйте выданную ошибку. Таким образом вы справитесь с ошибкой, и сценарий будет продолжен.