VB 中如何判断动态数组定义了数组大小没有?
比如我定义了一个动态数组dima()然后中间有一大堆代码,代码根据其它情况,有可能定义了a的大小:redima(N),也有可能没有定义它的大小。那到最后,我用什么语句能得...
比如我定义了一个动态数组 dim a()
然后中间有一大堆代码,代码根据其它情况,有可能定义了 a 的大小: redim a(N),也有可能没有定义它的大小。
那到最后,我用什么语句能得知 a 有没有被定义过大小?
试了 Ubound(a),但如果没定义过的话,会提示下标越界。
第一个回答中的方法不可取。因为如果我在其它地方的代码上错误地读取了过大的下标,也是跟没定义就 Ubound(a) 一样同样发生代号为 9 的下标越界错误。但在运行的时候,根本不知道这个错误是因为真的引用了错误的下标产生的,还是在用 Ubound(a) 测试有没有定义过的时候产生的。 展开
然后中间有一大堆代码,代码根据其它情况,有可能定义了 a 的大小: redim a(N),也有可能没有定义它的大小。
那到最后,我用什么语句能得知 a 有没有被定义过大小?
试了 Ubound(a),但如果没定义过的话,会提示下标越界。
第一个回答中的方法不可取。因为如果我在其它地方的代码上错误地读取了过大的下标,也是跟没定义就 Ubound(a) 一样同样发生代号为 9 的下标越界错误。但在运行的时候,根本不知道这个错误是因为真的引用了错误的下标产生的,还是在用 Ubound(a) 测试有没有定义过的时候产生的。 展开
3个回答
展开全部
on error resume next
bbb=Ubound(a)
if err.number=??? then '捕捉错误代码加以处理
.....
*****************
err.number =0
on error resume next
bbb=Ubound(a)
if err.number=??? then '捕捉错误代码加以处理
.....
end if
err.number =0
on error goto 0 '停止忽略错误
处理完了就关闭呀,
否则您就要优化你的程序,不犯这种错误.
bbb=Ubound(a)
if err.number=??? then '捕捉错误代码加以处理
.....
*****************
err.number =0
on error resume next
bbb=Ubound(a)
if err.number=??? then '捕捉错误代码加以处理
.....
end if
err.number =0
on error goto 0 '停止忽略错误
处理完了就关闭呀,
否则您就要优化你的程序,不犯这种错误.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
ubound 下线是多少
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询