在用户注册场景中,如果用户输入非法字符,或者用户名称已存在,或者用户密码过于简单,在程序上作出分门别类的判断,并提示给用户
捕获异常是为了处理,不要捕获了什么都不处理.如果不需要处理,应该将异常抛给调用者...即使调用方法返回空集合或者空对象,对于调用者来说,必须考虑到远程调用失败,序列化失败,运行时异常等返回null的场景
一定要防止出现NPE异常,注意NPE产生的场景:
返回类型为基本数据类型,return...包装数据类型的对象时, 自动拆箱有可能产生NPE
数据库的查询结果可能为null
集合里的元素即使isNotEmpty, 取出的数据元素也可能为null
远程调用返回对象时,一律要进行空指针判断,防止NPE...:
DAOException
ServiceException
对于公司外的http或者api开放接口必须使用 "错误码"; 应用内部推荐异常抛出; 跨应用间的RPC调用优先考虑使用Result方式,...封装isSuccess()方法,错误码,错误简短信息
RPC方法使用Result方式的原因:
使用抛异常返回方式,调用方如果没有捕获到就会产生运行时错误
如果不加栈信息,只是new自定义异常,加入自己理解的