Eri*_*c Z 8 powershell try-catch try-catch-finally
当使用Invoke-Sqlcmd连接到SQL Server失败时,我在PowerShell中捕获错误时遇到问题.这是一些用于演示此问题的通用代码:
CLS
$server = "Localhost\fake"
try
{
Invoke-Sqlcmd -Query "SELECT DB_NAME() as [Database]" -Server $server
}
catch
{
Write-Host "Error connecting to server " $server
}
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Invoke-Sqlcmd:建立与SQL Server的连接时发生与网络相关或特定于实例的错误.服务器未找到或无法访问.验证实例名称是否正确,以及SQL Server是否配置为允许远程连接.(提供者:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接)
我期待获得一行声明:"连接到服务器Localhost\fake时出错"
Kei*_*ill 13
看起来错误被认为是非终止的,这有点奇怪.尝试使用附加参数调用Invoke-SqlCommand : -ErrorAction Stop
. 如果错误是非终止,则会将其转换为您可以捕获的终止错误.
归档时间: |
|
查看次数: |
8445 次 |
最近记录: |