gpt4 book ai didi

web-services - Powershell 不会从 NewWebServiceProxy 捕获异常

转载 作者:行者123 更新时间:2023-12-04 04:56:37 26 4
gpt4 key购买 nike

我在从 NewWebServiceProxy cmdlet 捕获异常时遇到问题

try {
$myService = New-WebServiceProxy -Uri "http://localhost/someservice.svc"
}
catch {
Write-Log ([string]::Format("Error : {0}", $_.Exception.Message))
}

当我运行它时,我得到这个未处理的异常:New-WebServiceProxy:

The request failed with HTTP status 404: Not Found. At C:\Users\SomeUser\AppData\Local\Temp\d052b604-38ad-4827-b952-4ebc66e79c69.ps1:2 char:18 + $myService = New-WebServiceProxy -Uri "http://localhost/someservice.svc" + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (http://localhost/someservice.svc:Uri) [New-WebServiceProxy], WebExc eption + FullyQualifiedErrorId : WebException,Microsoft.PowerShell.Commands.NewWebServiceProxy



有人会问我为什么 try catch 不捕获这个异常?感谢您的任何回答

最佳答案

这是在 powershell 中捕获未处理异常时最常见的问题之一。您需要使用 -ErrorAction Stop在命令中 New-WebServiceProxy

try {
$myService = New-WebServiceProxy -Uri "http://localhost/someservice.svc" -ErrorAction Stop
}
catch [System.Net.WebException]{
Write-Log ([string]::Format("Error : {0}", $_.Exception.Message))
}

更新:捕获 Http 异常包括 [System.Net.WebException]正如 所指出的基思·希尔 在下面的评论中。

关于web-services - Powershell 不会从 NewWebServiceProxy 捕获异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18594218/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com