优雅的处理你的Java异常
Posted On 2018年7月6日
https://my.oschina.net/c5ms/blog/1827907
- 逻辑异常,这类异常用于描述业务无法按照预期的情况处理下去,属于用户制造的意外.
- 代码错误,这类异常用于描述开发的代码错误,例如NPE,ILLARG,都属于程序员制造的BUG.
- 专有异常,多用于特定业务场景,用于描述指定作业出现意外情况无法预先处理.
处理方式:在service层用继承自RuntimeException的ServiceException,对于Controller层就无需知道和处理用户制造的业务异常。实现Controller和Service层之间的解耦。
其实这个’优雅’是有适用的场景的,因为ServiceException是继承RuntimeException,在发生异常时或业务检查时并不支持有返回值,在某些场景未必适用