FeignException 和 DecodeException 是Feign 客户端在远程调用过程中可能抛出的两种异常,它们发生的阶段和原因有所不同。
1. feign.FeignException (通用 Feign 异常)
- 定义:
FeignException是 Feign 客户端在执行 HTTP 请求和处理响应过程中抛出的运行时异常的基类。它涵盖了从请求到接收和处理响应的各个阶段可能出现的多种错误。 - 发生时机:
- 连接问题: 无法连接到目标服务。
- 请求构建错误: 例如,构建请求体时出现 I/O 错误。
- 接收到非 2xx 的 HTTP 状态码: 当 Feign 收到一个错误的 HTTP 状态码(如 4xx 或 5xx)时,并且在
ErrorDecoder处理之后,会抛出FeignException或其子类。ErrorDecoder的作用就是将错误的 HTTP 响应转换成一个Exception,这个Exception往往就是FeignException或自定义异常(如果ErrorDecoder返回了自定义异常,则不会是FeignException)。 - 重试耗尽: 如果配置了
Retryer并且重试次数耗尽后仍然失败。 - 其他内部

最低0.47元/天 解锁文章
1171

被折叠的 条评论
为什么被折叠?



