Closed huguangquan closed 1 year ago
您好,感谢提问。
对于公共异常的场景,其实关注点已经不是在关注抛什么异常了,否则不会抛一个公共的异常。此时可以使用2.1以上的版本。
<dependency>
<groupId>com.feiniaojin</groupId>
<artifactId>graceful-response</artifactId>
<version>2.1</version>
</dependency>
2.1以上的版本,提供GracefulResponseException和工具类GracefulResponse,可以使用
GracefulResponse.raiseException("自定义的错误码", "自定义的错误信息");
详细见README文档3.5
另外我们要知道,通用异常不是好的设计,一个业务异常应该对应唯一确定的错误码和错误信息,并且只在一个特定的限界上下内有效。举个例子,订单和商品,都应该有自己的一套异常体系,跨上下文的使用通用异常,实际上是代码共享、领域逻辑的泄漏。
@ExceptionMapper(code = 1007, msg = "有内鬼,终止交易") public static final class RatException extends RuntimeException {}
文档中给出的示例如上,一种自定义异常只能返回相同的错误提示msg。但是在实际开发中会遇到自定义异常公用,但是msg不同的场景,对于此种场景该如何实现呢?