Hibernate исключения создаются по особым причинам.Каждая из этих причин нуждается в отдельном лечении.Для некоторых исключений, например ConstraintViolationException
, вам даже нужно различать, вызваны ли они ошибками пользователей или ошибками на стороне сервера.Если пользователь предоставил неверные входные данные, вы должны сообщить пользователю, что ввод должен быть исправлен.Если сервер манипулировал данными некорректно, вы должны сообщить клиенту, что что-то пошло не так, но это не его / ее ошибка.и действовать на основе фактического типа исключения.В зависимости от обнаруженного исключения, вы должны зарегистрировать достаточно информации, чтобы воспроизвести ошибку и соответственно информировать пользователя о сбое на стороне сервера (включая то, что он / она должен или может сделать для устранения причины).
В вашем примерекод, я бы сначала поискал возможные ошибки в вашем коде, которые вызывают ConstraintViolationException
.Если пользователь предоставил неверные входные данные, вы можете извлечь подробную информацию, вызвав getConstraintName()
экземпляра ConstraintViolationException
.Затем эта извлеченная информация должна быть зарегистрирована и представлена пользователю.