标题: 调用过程时,exit语句出错如何解决? [打印本页] 作者: xryacc2 时间: 2010-4-11 21:29 标题: 调用过程时,exit语句出错如何解决? 在调用过程时(尤其是宏调用),该过程中有多个条件判断式,当变量不满足条件时退出却出错。比如:
(假设BL为某一变量,以下只是例子)
Function abc
select case BL
case 0
exit function
case 101
exit function
end select
end function
........'(这里接着还有其他代码)
'当在宏或其他过程中调用上面这个过程时,发觉出错在exit function
'如果在exit function前加一名代码:exit_abc:,如下:
Function abc
select case BL
case 0
exit_abc:
exit function
case 101
exit_abc:
exit function
end select
end function
........'(这里接着还有其他代码)
则提示重复声明,如果只有一个exit_abc:和一个exit function就没问题,请问在调用过程中,如果被调用过程有多个不满足条件就退出这样功能的情况下,如何解决这种问题?谢谢!作者: iamee 时间: 2010-4-12 19:22
else case作者: xryacc2 时间: 2010-4-13 15:35
case else吧。就是不想有else啊,怕层次太多,而且逻辑关系搞得太复杂,尤其在 if 语句中。作者: todaynew 时间: 2010-4-13 19:46
Function abc()
select case BL
case 0
.......
exit function
case 101
......
exit function
end select
end function
和以下函数是等价的:
Function abc
select case BL
case 0
.......
case 101
......
end select
end function作者: xryacc2 时间: 2010-4-14 15:55
谢谢各位。
其实我的例子不恰当,todaynew说的对,一般情况下要写的代码各个case 后的变量都是唯一满足的,也就是说如果变量满足了case 1,一般不会再满足case 2。但是我的问题是在过程调用时,exit语句会出错的问题.....
暂且不说select case了,就说下面这样的过程,如何不满足任意一个条件下就退出过程,且这个过程是可以被调用,尤其是宏调用。
Function abc
if 变量1<>变量2 then '条件语句(1)
exit function
end if
if 变量3<>变量4 then '条件语句(2)
exit function
end if
if dir("......")="" then '条件语句(3)
exit function
end if
......其他很多代码 '这里还要有很多满足主要功能的代码
.......
end function
这样的函数或过程被调用时,尤其是做成宏被调用时,会在exit function处出错。