$oHTTP = ObjCreate("Msxml2.xmlhttp")
;Post提交方式
$oHTTP.Open("Post","www.126.com",false)
$oHTTP.setRequestHeader("Cache-Control", "no-cache")
$oHTTP.setRequestHeader("Content-Type","application/x-www-form-urlencoded")
$oHTTP.setRequestHeader("Referer","www.126.com")
$oHTTP.Send("")
$oHTTP.Responsetext
以上代码是一段POST向服务器提交数据返回页面内容的代码,但是现在遇到一个非常棘手的问题,就是,用户在没有网络的情况下,如何容错?【容错就是发生异常的处理】
在有网络和网路畅通的情况下,这里没问题,但是在没有网络或者网路异常的情况下,程序执行到 $oHTTP.Send("") 就会出错!程序直接结束!是一个很严重的BUG。
也不知道oHTTP 有没有返回状态 成功和失败的状态!
注:我已查阅帮助,并没有相关的说明!
已使用解决办法:
使用:错误处理函数;错误处理函数
$oMyError = ObjEvent("AutoIt.Error","MyErrFunc")
Func MyErrFunc()
$HexNumber=hex($oMyError.number,8)
Msgbox(0,"","We intercepted a COM Error !" & @CRLF & _
"Number is: " & $HexNumber & @CRLF & _
"Windescription is: " & $oMyError.windescription )
$_eventerror = 1
Endfunc
无效并未解决
再者就是程序在Post数据开始前就进行网络的检测!这个办法只能解决一时的问题,比如我Post数据前网络还正常,中途网络发生故障,程序会直接挂掉。这种错误是不允许的,请教高手有什么好的办法么?小弟不才! |