lluxury 发表于 2011-4-26 00:25:22

如何忽略数组错误

我在一段循环代码中,设了一个数组存放,网页中正则取出来的值,但是一但取值失败,脚本就是中断退出,因为是循环的,我希望忽略错误,继续运行下去,请问有什么办法

本来是判断If $array的值,做一些动作的,但是一出错脚本就退出了
出错
If $array= "??" Then
If $array^ ERROR

happytc 发表于 2011-4-26 00:35:34

本帖最后由 happytc 于 2011-4-26 00:37 编辑

贴出代码来。
没有代码,不好说。
不过,可以判断一下嘛,不知道你失败取值后,所得的$array[$i]的值是啥?这里假设是空,你可以是循环里:
if $array[$i] == "" then ContinueLoop
其实还不明白你说的“继续运行下去”是什么意思,是继续循环呢,还是继续执行循环外的脚本。

lluxury 发表于 2011-4-26 01:02:13

本帖最后由 lluxury 于 2011-4-26 01:03 编辑

我是从网页的固定位取一个td的内容,然后正则,但有时候网页里没有哪段正则,就会取失败
因该是让if语句继续下去


        $oTd_hp = _IETagNameGetCollection ($oIE, "td",17)
        $str_hp=_IEPropertyGet($oTd_hp, "innertext")
        $array_hp = StringSplit($str_hp, '/', 1)
        ConsoleWrite ($array_hp)
        ;if $array_hp == "" then ContinueLoop
        If $array_hp< 1100 And $array_hp>1200 Then
        girl()        ;修改6


报错 C:\Documents and Settings\Administrator\My Documents\6.7alpha_DebugIt.au3 (79) : ==> ?????????????.:
If $array_hp< 1100 And $array_hp>1200 Then
If $array_hp< 1100 And ^ ERROR

papapa314 发表于 2011-4-26 01:19:45


$oTd_hp = _IETagNameGetCollection ($oIE, "td",17)
      $str_hp=_IEPropertyGet($oTd_hp, "innertext")
      $array_hp = StringSplit($str_hp, '/', 1)
      If not @error then
             ConsoleWrite ($array_hp)
             ;if $array_hp == "" then ContinueLoop
             If $array_hp< 1100 And $array_hp>1200 Then
            girl()      ;修改6
            endif
      endif

happytc 发表于 2011-4-26 01:36:17

我是从网页的固定位取一个td的内容,然后正则,但有时候网页里没有哪段正则,就会取失败
因该是让if语句继 ...
lluxury 发表于 2011-4-26 01:02 http://www.autoitx.com/images/common/back.gif

这样呀,你直接在:if $str_hp == "" then ContinueLoop不就行了
何必还在后面StringSplit后才去判断呢?

lluxury 发表于 2011-4-26 03:59:56

本帖最后由 lluxury 于 2011-4-26 04:20 编辑

网页中的值是82/200/3118 这样的,我要82的部分做比较,而且有些是汉字

if $array_m2 == "" then ContinueLoop
if ^ ERROR

看来有些不为0呢

lluxury 发表于 2011-4-26 04:05:47


papapa314 发表于 2011-4-26 01:19 http://www.autoitx.com/images/common/back.gif


    谢谢,这样写就可以了,我以前没这个习惯,不处理出错部分的

lluxury 发表于 2011-4-26 04:16:41

另,不知道 这个问题有解没 http://www.autoitx.com/thread-23976-1-1.html

大绯狼 发表于 2011-4-26 09:37:56

先判断是否是数组
if isarray($array) then

happytc 发表于 2011-4-26 09:58:57

先判断是否是数组
if isarray($array) then
大绯狼 发表于 2011-4-26 09:37 http://www.autoitx.com/images/common/back.gif


    你错了,那个返回的怎么都是数组,就是出错了,也是

masterpcc 发表于 2011-4-26 10:02:57

本帖最后由 masterpcc 于 2011-4-26 10:05 编辑

我在一段循环代码中,设了一个数组存放,网页中正则取出来的值,但是一但取值失败,脚本就是中断退出,因为 ...
lluxury 发表于 2011-4-26 00:25 http://www.autoitx.com/images/common/back.gif

If not IsArray($array) Then $array=0
可解决数组的问题..

lluxury 发表于 2011-4-26 10:56:37

If not IsArray($array) Then $array=0
可解决数组的问题..
masterpcc 发表于 2011-4-26 10:02 http://www.autoitx.com/images/common/back.gif


    确实,谢谢
页: [1]
查看完整版本: 如何忽略数组错误