本文结合工作经验,给出一些异常使用建议,使用spring来实战异常为我们带来的好处。...我们开发的业务系统,或者是产品,常常面临着这样的问题:
系统运行出错,但是完全不知道错误发生的位置
我们找到了错误的位置,但是完全不知道是因为什么
系统明明出了错误,但是就是看不到错误堆栈信息
什么情况需要自定义异常...你有能力处理异常,并且你知道如何处理
你有责任处理异常
自定义业务异常
考虑如下场景: 系统提供一个API,用于修改用户信息,服务器端采用json数据交互.首先我们定义ServiceException...有效性检查,可以交给java的校验框架执行,比如JSR303. 假设用户提交的数据经过验证都合法,还是有一些情况是不能调用修改逻辑的。...异常不提供无参构造器 ,因为绝对不允许你抛出一个逻辑处理异常,但是不指明原因,想想看,你是必须要告诉用户为什么受理失败的!