问题描述
我在 Spring Boot 项目中使用 @ControllerAdvice 来处理 Stripe 的卡片异常,但每次抛出此异常时,处理异常的代码都会起作用,而不是处理特定卡片异常的代码。
这就是我正在做的:
“这是抛出异常的 Api - CardException 输入错误的卡详细信息”
@PostMapping("/charge")
public String chargePayment(HttpServletRequest request) throws CardException,AuthenticationException,InvalidRequestException,StripeException {
.......
}
“这是我的异常处理类代码”
@ControllerAdvice
public class StripeExceptionHandler {
// I want this to work when the above method/Api throws CardException.
@ExceptionHandler(CardException.class)
public String handleCardException(CardException cardException,Model model) {
model.addAttribute("exception","CardException : "+ cardException.toString());
model.addAttribute("redirectUrl","contribute");
return "exceptionpage";
}
// But every time CardException is thrown this code works instead of the above specific code.
@ExceptionHandler(Exception.class)
public String handleGlobalExceptions(Exception exception,WebRequest webRequest,exception.getMessage());
model.addAttribute("redirectUrl",webRequest.getDescription(false));
return "exceptionpage";
}
}
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)