我想处理这个异常:
try {
save = usersRepository.save(user);
}
catch (Exception gottaCatchEmAll){
System.out.println("got it");
}
我在日志中看到:
无法添加或更新子行:外键约束失败
我怎样才能抓住它?
答案 0 :(得分:1)
我建议编写建议处理程序类来处理任何异常。例如,我假设您的例外是DataIntegrityViolationException
类型。这将包含在某种DTO中,可以返回到前端或用它做你想做的事。
@ControllerAdvice
public class ExceptionHandler {
@ExceptionHandler(DataIntegrityViolationException.class)
@ResponseStatus(HttpStatus.BAD_REQUEST)
@ResponseBody
public ErrorDto processConstraintError(DataIntegrityViolationException ex) {
return new ErrorDto(ex.getMessage());
}
}
无需尝试从JPA中捕获任何内容。