对于一个可靠的程序开说,不管传入什么参数,只要允许传入,都不应该出现让程序崩溃的情况,也就是要体现程序的健壮性。
下面总结一下对于参数的处理:
① 每个方法的参数都需要做好判断,是否符合需求,做些相关的验证,以及看是否会出现空指针; ② 在方法中从另外一个方法得到的结果需要判断是否空指针,避免程序中存在潜在的空指针数组下标越位等异常。检查每一个参数和自己获取的参数; ③ 作为参数,一定要有可理解性,不能传入一个字符串然后自定义一些字符串的读写规则,那样的方法调用别人是看不懂的。
在分层架构中,每一层都有可能出现异常,而怎么处理和解决就需要统一处理了,我们可以这样做:
异常往上层抛,在dao层中的异常可以不处理,抛给Control层进行捕捉,在Control层记录日志,打印堆栈信息,并提供请求失败的相关信息给客户端。
在Service抛出一些自定义异常,可以使参数验证等自己能够判断到的异常,也可以是读取文件错误等异常,提供异常文字说明,然后抛给Control层一起处理。
在Control层,判断参数的合法性,有必要时返回错误信息给客户端,然后是捕获Service层的异常,在出现异常时捕获,并返回错误提示给客户端。
(修改中…)