: 无论如何不会出错的代码
非稳定代码: 非稳定代码的catch尽可能区分异常类型,再做对应处理
对于大段代码进行try - catch,会使得程序无法根据不同的异常做出正确的应激反应,也不利于定位问题...在用户注册场景中,如果用户输入非法字符,或者用户名称已存在,或者用户密码过于简单,在程序上作出分门别类的判断,并提示给用户
捕获异常是为了处理,不要捕获了什么都不处理.如果不需要处理,应该将异常抛给调用者...最外层的业务使用者,必须处理异常,将其转化为用户可以理解的内容
如果有try块放到了事务代码中 ,catch异常后,如果需要回滚事务,一定要注意手动回滚事务
finally块必须对资源对象,流对象进行关闭...如果不加栈信息,只是new自定义异常,加入自己理解的error message, 对于调用端解决问题的帮助不会太多.如果加了栈信息,在频繁调用出错的情况下,数据序列化和传输的性能损耗也是问题
避免出现重复的代码...可以使用warn日志级别来记录用户输入参数错误的情况
注意日志的输出级别:
error级别只记录系统逻辑出错,异常或者重要的错误信息
使用全英文来注释和描述日志错误信息