blog.programfan.info
新网站即将启用

[原]2010-11-17关于“erlang错误处理”方式的讨论

  地点:公司

  参与人:Gordon ,Simon

  时间:2010-11-17

  问题:解决有关项目错误日志处理的问题,由于数据发送出现的问题,出现了很多的垃圾消息,而这些垃圾消息还在不停的发送着数据过来,虽然我在前段时间做了一个错误日志处理的程序,把这些垃圾数据打印到一个独立的文件中了,它不在影响其他类型的程序出错问题日志打印。但同一类型的错误,但不是这些垃圾消息产生的错误(比如说别的数据异常了),这些错误需要我进行捕获然后处理的,现在因为这些垃圾数据而不能实现。(最主要的错误是我们手工删除了两条记录)

  讨论内容

PK1:我在怎么处理这些垃圾消息上和Simon观点不同:我的意思是把这些垃圾消息当成是正常消息来进行后面的计算等;simon则主张把这些垃圾数据过滤掉,不让它们参与后面的计算:

Gordon:我感觉可以把这些垃圾数据按正常情况进行计算,这样的话就没有必要对他们进行专门的处理了,而且我感觉对数据进行特殊的处理除非特殊情况,否则不要这么做!并且在其他还有类似的数据,因为记录不是手工删除的,那些应用只是标记说它被删除了,但并没有被物理删除,这些也是垃圾数据,但并没有被过滤而是进入后面的计算

总结:Gordon是从程序逻辑处理上考虑,Simon可能是从现实业务逻辑进行考虑

  先不管这个,如果对这些数据进行过滤的话。对于怎么处理产生的分歧:

PK2:Gordon,针对性的对这些消息进行处理,Simon,出现这种问题时抛出异常,让它的上一级根据这个异常来进行过滤

Gordon:这两方面各有优缺点,前一个的优点是有针对性,再出来别的问题的时候能快速发现,缺点是需要各级进行捕获后的特殊处理;后一种的优点是出现这种情况后抛出异常就好了,不用层层进行处理,只需要在最上层进行捕获就OK了。

总结:Gordon的主要想法侧重于如何解决当前日志文件被垃圾,Simon可能是从整体日志文件处理上进行考虑

解决方案:用throw的方法抛出异常,在最上层进行处理,在处理的时候进行针对性处理。

  在Gordon向Simon讲出他的最新想法时,Siomon又提出一个新的问题:

PK3:怎么进行错误日志的处理,Simon,弄一个配置文件,把所有可能的错误类型和对应的错误处理函数都写入到错误日志文件中,然后让错误日志模块根据这些配置文件去处理错误的逻辑;Gordon,错误日志是通用的方法,不管具体的逻辑,只是把过来的错误信息打印到对应的文件中。

总结:Simon的想法让Gordon从另一方面考虑了这个问题,但他还没想好应该怎么处理,或者说他还没有真正理解Simon的意思。

 

最后结论

  把那两条删除的文件增加上,对这两条垃圾数据也进行处理和计算,因为还有很多其他的在页面上进行删除的数据(没有物理删除,只是把标志记为delete)也进行了处理和计算。这样的话就没必要对这些垃圾数据进行特殊处理了。先暂时这样看看效果,如果可以的话,有时间再对错误处理模块应用上面的想法。

posted @ 2010-11-17 16:28  Gordon Chao  Views(358)  Comments(1Edit  收藏  举报
www.programfan.info
新网站即将启用