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 и, возможно, зарегистрируйте выданную ошибку. Таким образом вы справитесь с ошибкой, и сценарий будет продолжен.

Другие вопросы по тегам