Seit der Behandlung dieses Szenarios zum ersten Mal, fragen Sie, welcher der beste Ansatz ist.Wie können wir verschiedene Zollnachrichten für die gleiche Ausnahme geben
Hier für alle die DataIntegrityViolationException
, die gleiche Fehlermeldung zu senden
@Override
public boolean saveParam(ParamDto dto) throws ParamException
{
try
{
return super.save(dto);
}
catch(DataIntegrityViolationException e)
{
throw new ParamException(ParamException.INTERNAL_SERVER_ERROR, messageSource.getMessage(CodeEnum.DUPLICATE_APP.getValue(), new Object[] { dto.getParamKey() }, Locale.ENGLISH));
}
catch (GenericException ge)
{
throw new ParamException(ge, ge.getRootCauseMessage());
}
}
Wie können wir geben verschiedene Zoll Nachrichten für die gleiche Ausnahme. Müssen wir den Nachrichtenstring überprüfen?
Hier mit 2 verschiedenen Ausnahmen unter DataIntegrityViolationException
.
"ERROR: value too long for type character(1)" (id=172) ""
"ERROR: duplicate key value violates unique constraint "uk_param_key"\n Detail: Key (param_key)=(Test1) already exists."
Sie können JdbcExceptionTranslator verwenden. http://stackoverflow.com/questions/2109476/how-to-handle-dataintegrityviolationexception-in-spring – Rehman