1、在通用的方法里,不要try去捕获错误,而是直接抛出异常给调用层处理
2、用户访问界面处理掉所有可能的异常,并记录详细错误日志,然后返回友好的错误界面给用户,不要抛异常给用户,不友好.
异常应当在下层方法中不符合逻辑、出现异常的时候抛出,在上层进行捕获. 同样的,假使你为别人提供类库方法,在你的方法中,存在问题就应该抛出。 因为别人代码可能依赖于或者调用你的代码,在调用方可进行异常的捕获,从而能得到最原始的异常信息。 这就好比,小孩子你饿了,你就哭就是了(throw),没必要在吃奶阶段(下层)就开始坚强。 而处理问题则交给小孩的母亲(上层),因为她知道小孩可能会存在饿了就会哭的风险(可能会抛出异常),她会进行保护性应对(try catch)
处理异常的情况
1.给客户端(第三方)提供服务时,在服务器的最顶层进行异常处理
try{ // 这里抛出异常 return { status : 1 , data : "其他数据" }; }catch(Exception ex){ return { status : 0 , msg : ex.getMessage(), }; }
2.在与服务器端(第三方)进行交互时,将第三方异常转换为本地异常并进行处理
var data = "&