我和一个新来的同事在错误处理的编程风格上出现了差异
我们都有3年左右的编程经验.
我认为,一个好的程序首先应该是在 没有on error 这种语句下调试通过,然后在可能出错的地方加上 on error我的同事认为,应当是把on error 做为编程的一部分,就是说on error 是流程的一部分,不知道我们的观点谁正确,请斑竹 或者 高手回答.

解决方案 »

  1.   

    在我看来ON ERROR就是一个IF语句只不过是用于处理系统错的.
    如果你的程序不可能出现系统错误的话就不必使用.
      

  2.   

    一般是在过程的首部就写一句on error goto errh
    这样不管在何处出了错,你在errh中可以得到错误信息err.description或err.numeric
    然后再做处理,这样比较方便,因为有时可能出错的地方不一定是你想的地方,有时会因为数据的问题产生一些很奇怪的错误的仅供参考
      

  3.   

    你们都有3年左右的编程经验,已经形成各自的编程风格了,出现了差异是很正常的,但是我觉得你们的差异或分歧讨论一下就好了,没有必要也不可能说清楚是谁对谁错的.拘泥与这个问题就好像争论VB和VC那个好一样,是没有意义的,你觉得呢?
      

  4.   

    错误和异常是两个概念。
    程序中错误是不应该有的,但是应该有异常处理。
    比如说你有一个函数是用来处理两个数的乘法的,那么你在设计的编程过程中应该考虑到输入、输出可能产生的情况并且处理这些情况。而不是用一个On error。
    对于像数据库访问或者网络访问的异常,像上面的朋友说的程序崩溃的情况应该不会出现。通常是控件(例如连接数据库的ADO控件)会返回一个错误代码(比如数据库连接超时)。所以我认为将 on error 作为程序的一部分是错误的。我写的程序中on error是非常少的。通常是为了调试使用。