请教一个思路,比如在不用goto的原则下如何简便的实现某些功能。?
总听高手说:不要用goto语句,因为那不是好习惯,好象.net中已经没有goto语句了。
可是我总觉得用goto能特别方便的解决问题:比如举个例子:
在一个按钮的click事件中,我想进行汇总操作:
所以我先用dim rs as new adodb.recordset生成一个记录集对象。可是在执行操作前是要进行各种判断的,如果不合要求则退出汇总,即exit sub,可是判断很多,每次exit sub之前都要进行rs.close的操作,因为对象随时不用就关是个好习惯。但是如果用goto就特别方便了,在handle:处放几行退出前的关闭对象的代码,每次要中途退出时goto handle就可以了。特别方便,可是如不用goto,我没想出更好的办法,想听大家说说。
还有:sql server编程中好象也有标号呀?不知sql 2005是不是也把goto 功能取消了?

解决方案 »

  1.   

    每次exit sub之前都要进行rs.close的操作
    这样做没什么不好呀
    我觉得你写得太简单了,这样不安全
    类似的情况,我是这样写的:
    if rs.state=adStateOpen then rs.Close
      

  2.   

    如果不再需要了,还要加上:
    set rs=nothing
      

  3.   

    在判断前用ON ERROR GOTO XXX,条件不符就RAISE ERROR这样你可以少写点代码。
      

  4.   

    每次exit sub之前都要进行rs.close的操作
    这样做没什么不好呀
    我觉得你写得太简单了,这样不安全
    类似的情况,我是这样写的:
    if rs.state=adStateOpen then rs.Close
    ------------------------
    我是简化写的,实际我写的很复杂的。如:
    if rs.adstate=adstateopen then rs.close
    set rs=nothing
    if conn.adstate=adstateopen then conn.close
    set conn=nothing
    ......
    可是我想问的是:一个事件代码中,根据情况可能会有很多次exit sub
    每次exit sub之前都要写一遍有点太罗嗦了。我想能不能只写一次。
    用goto语句就可以实现只写一遍。可是goto都说不该用,故请教。
      

  5.   

    有时候还是很好用的,只是不要动不动就goto,不然,人家就只能跟着你的goto跑了
    还有就是,如果你不打算把代码给人看,自己看的话就没事,随便用!!!!哈哈后哈哈
      

  6.   

    反正我们都是这样写的
    代码首先是要规范,格式化的
    语句可能是枯燥的,但也是
    代码管理所追求的反正我认为,楼主能这样写代码
    是个好习惯
    我的团队也是这样做的这种情况跟代码重用是两码事vb的优点是代码灵活,但这也是它的缺点
    我想做过VC或C#的一定和我同感
      

  7.   

    有时候还是很好用的,只是不要动不动就goto,一个语句设计的时候肯定是有它的作用,又不是说绝对不可用啊
      

  8.   

    goto语句也不是一定绝对不能用。对于楼主提的这个问题,用goto就很方便。
      

  9.   

    没有 GoTo 的程序如何写?像 VB6 这种没有 SEH 的语言很难想象的。
      

  10.   

    那你就写一个什么小方法,专门用于关闭数据集的。其实没有必要一直躲着Goto。写明了注释应该就可以。
      

  11.   

    没有 GoTo 的程序如何写?像 VB6 这种没有 SEH 的语言很难想象的。
    ------------------
    seh是什么东东?