gpt4 book ai didi

excel - 在 VBA WinHttpRequest 上捕获超时

转载 作者:行者123 更新时间:2023-12-03 07:48:55 25 4
gpt4 key购买 nike

如果使用 VBA 和 Excel 发生此事件,我想设置超时值并捕获它。到目前为止,我尝试使用 XMLHTTP60 和 WinHttpRequest:

    Set XMLHTTP = CreateObject("WinHttp.WinHttpRequest.5.1")
With XMLHTTP
.setTimeouts 11, 11, 11, 11 'Values for testing to get a timeout
'.setTimeouts TIMEOUT_LRESOLVE, TIMEOUT_LCONNECT, TIMEOUT_LSEND, TIMEOUT_LRECEIVE
.Open "GET", currenturl, False
.send
'.waitForResponse 1 'testing
If .responseText Like "*PATH_NOT_FOUND*" Or .responseText Like "*OUTSIDE_BOUNDS*" Then
noroutefound = True
GoTo skiploop
End If
str = Split(.responseText, "{""startTime"":")
complstr = .responseText
End With

但是,我无法捕获由超时或超时本身引起的错误。

我怎样才能 catch 超时?

最佳答案

添加On Error GoTo errHand的错误处理在预期错误之前和 errHand 中:确保你有

'Code
On Error GoTo errHand:
'Code producing error
Exit Sub
errHand

If err.Number <> 0 Then
Debug.Print err.Message
End If
Exit Sub

如果您有感兴趣的错误编号,您可以使用 select case err.Number 以定制方式处理您的特定错误,例如:
errHand:

Select Case Err.Number
Case -2147012894 'Code for Timeout
Msgbox "Timeout"
Case -2147012891 'Code for Invalid URL
Msgbox "Invalid URL"
Case Else 'Add more Errorcodes here if wanted
MsgBox "Errornumber: " & Err.Number & vbnewline & "Errordescription: " & Error(Err.Number)
End select

关于excel - 在 VBA WinHttpRequest 上捕获超时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55920463/

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