1、在通用的方法里,不要try去捕获错误,而是直接抛出异常给调用层处理
2、用户访问界面处理掉所有可能的异常,并记录详细错误日志,然后返回友好的错误界面给用户,不要抛异常给用户,不友好.
异常应当在下层方法中不符合逻辑、出现异常的时候抛出,在上层进行捕获.
同样的,假使你为别人提供类库方法,在你的方法中,存在问题就应该抛出。
因为别人代码可能依赖于或者调用你的代码,在调用方可进行异常的捕获,从而能得到最原始的异常信息。
这就好比,小孩子你饿了,你就哭就是了(throw),没必要在吃奶阶段(下层)就开始坚强。
而处理问题则交给小孩的母亲(上层),因为她知道小孩可能会存在饿了就会哭的风险(可能会抛出异常),她会进行保护性应对(try catch)