找回密码
 加入
搜索
查看: 1281|回复: 5

如何解决数组错误导致程序崩溃的问题?

[复制链接]
发表于 2009-4-2 13:58:43 | 显示全部楼层 |阅读模式
如果运行的某个程序不存在,程序立即崩溃!此时只要加上“遇错终止”即可避免。如:

AutoItSetOption ( "RunErrorsFatal",0 );遇错终止
run("123.exe")

如果数组错误,也会导致程序崩溃,如:

$s=StringSplit("123-456","-")
MsgBox(0,0,$s[2])
MsgBox(0,0,$s[3])



此时加上 AutoItSetOption ( "RunErrorsFatal",0 ) 也不管用了!有什么解决的办法吗?

[ 本帖最后由 hlzxcjx 于 2009-4-11 15:31 编辑 ]

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
发表于 2009-4-2 18:59:29 | 显示全部楼层
应该加强程序健壮性而不是让程序莫名其妙退出。如果你不确定数组范围,使用前先 UBound 探测一下。
发表于 2009-4-2 21:11:40 | 显示全部楼层
原帖由 sensel 于 2009-4-2 18:59 发表
应该加强程序健壮性而不是让程序莫名其妙退出。如果你不确定数组范围,使用前先 UBound 探测一下。

顶你 绝对的
发表于 2009-4-3 12:33:58 | 显示全部楼层
操作得多了,代码够稳定、清晰的话,数组出错的机率还是会非常小的。
发表于 2009-4-21 10:49:57 | 显示全部楼层
数组最好用循环的方式读取!
发表于 2009-6-2 20:39:03 | 显示全部楼层
$s=StringSplit("123-456","-")
MsgBox(0,0,$s[2])
MsgBox(0,0,$s[3])

你这个数组里面只有$s[0],$s[1],$s[2],没有$s[3]
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-4-28 21:06 , Processed in 0.077694 second(s), 20 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表