易语言数组成员引用下标超出定义范围怎么解决啊

2025-03-25 02:29:54
推荐回答(2个)
回答1:

您好,这样的:为什么会出现这种错误?
因为你取出的数组成员不存在,假设你要取的数组只有2个成员,你取了第3个成员,那样肯定会提示这种错误的,例如下图的易语言源码:

上面的是初级错误,新手容易犯。
一般的易语言程序员会在用正则表达式、分割文本,从网络中获取文本进行分割时出现数组成员引用下标超出定义范围。
如何防范数组成员引用下标超出定义范围导致程序意外退出呢?
方法很简单,就是在取数组成员的时候先判断一下数组成员数是否正常。
你需要用到的命令是,取数组成员数(),易语言中有该函数的详细说明!
举个例子:
我们想采集某个网站的内容,这个网站内容包含的有[标题][作者][发布时间][内容]
我们用正则表达式采集的时候发现程序提示数组成员引用下标超出定义范围,
那么我们就看看是再哪个页面出现问题的,找到之后发现这篇文章居然没有作者,应该是网站管理员疏忽忘记添加了。这时我们用正则表示取出的数组成员数只有3个,我们再取第4个的时候就会出错。
解决方法是在我们要取正则表达式获取的内容之前先判断一下取数组成员数是否等于4,如果等于4我们就直接取内容,如果不等于4那么我们只取3个内容,自己把作者补起来,或者直接跳过该页面去取正常格式的网站内容。

回答2:

用 取数组成员数() 调试一下数组试试 调用出错的吧