0
java에서 ConstraintViolationException이 발생한 필드를 식별하려고합니다. 나는 두 개의 고유 한 필드, 사용자 이름 및 전자 메일을 가지고 있고 예외를 잡을 때 올바른 열거 형 필드를 반환하려고합니다.예외가 발생한 필드를 식별하는 방법
USER_ALREADY_REGISTERED("User Already Registered"),
EMAIL_ALREADY_REGISTERED("Email Address Already In Use"),
올바른 방법은 무엇입니까?
내가 생각할 수있는 한 가지 접근법은 예외에서 메시지를 가져 와서 필드 이름이 포함되어 있는지 확인한 다음 한 열거 형을 사용하면 다른 열거 형을 반환하는 것을 볼 수 있습니다. 그러나 이것은 약간의 불량품으로 보입니다. 방법?
감사 편집
:}catch(ConstraintViolationException e){
if(e.getConstraintName() != null){
if(e.getConstraintName().toLowerCase().contains("email")){
return RegistrationStatus.EMAIL_ALREADY_REGISTERED;
}
}
return RegistrationStatus.USER_ALREADY_REGISTERED;
최대 절전 모드에서 ConstraintVioilationException과 같은 비슷한 작업을 수행 할 수 있도록 최대 절전 모드를 사용하고 있습니다 (내 잠재적 인 해결책은 op 참조). – Biscuit128