人在旅途 发表于 2006/5/23 15:35:46 | 错误处理的编程方法: 1.底层(操作层):底层的出错一般用涵数的返回值来报告上一层,而不是用EXCEPTION来报告.这是因为底层的错误既可能是程序本身的错误,比如接口协议不是100%对应或者除了零;也有可能是应用的错误,比如网络访问错误.这时的错误即多又杂,需要上一层来分析错误,整理错误,对应错误和保存错误.比如一般会把各种错误记录到LOG中去,但在底层处理的话,由于底层的分支太多,于是程序中到处可见记录LOG的地方(其他错误处理也一样),维护很不方便.有时候通过返回值来报告不方便,那么就可以通过全局变量来报告错误,但是使用全局变量不复合优秀的编程规范,那么就使用类中的变量.可以在底层类中执行一系列操作,当中有错就停止,并记录到类变量中去,那么上一层就可以通过所操作类的变量来分析对应该类不同地方的和类型的错误了.一般一个类的错误比较相近,集中在一起管理很有效率. 2.中间层(管理层):中间层是分析和对应底层错误的地方,一般是首先象LOG中记录该错误.然后就是根据不同的错误信息.如果是应用的错误,就看看本层能否对应,比如再试一次,如果不能就看看是否有必要生成不同种类的EXCEPTION向上反映;如果是程序的错也要生成不同种类的EXCEPTION向上反映. 3.上层(UI层):上层是用户的界面,错误报到这里一般是要通知用户了,EXCEPTION里也有底层反映上来的错误信息,把这信息给用户看,如果是程序错误,要让用户反映这一错误的详细信息到公司,然后一般是结束程序(不要试图自己去改正自己);如果是应用错误,显示的信息要让用户知道该如何试着去修改,比如重新输入密码,或者查看网络连接等,一般不用退出程序. 当然也有例外情况,比如如果底层涵数分支复杂,你又不想到处用"RETURN"语句和执行退出处理,这时,在底层涵数中也可用EXCEPTION来管理错误,一句话要让程序和错可管理和有效率的.
|