Я создаю простую форму, которая сохраняет введенные данные в чрезвычайно простой таблице базы данных Oracle через сервлет Java с использованием JDBC.Эта таблица использует адрес электронной почты в качестве первичного ключа.Если пользователь отправляет форму несколько раз с одним и тем же адресом электронной почты, функция execute
завершается ошибкой и выдает исключение SQLException.Строка исключения:
java.sql.SQLException: ORA-00001: unique constraint (...removed...) violated
В этом сценарии я хотел бы перехватить это исключение и разобраться с ним, сказав пользователю, что форму нельзя отправить несколько раз с одним и тем же адресом электронной почты.Как правильно обрабатывать ORA-00001 отдельно и отличаться от любых других исключений SQLE, которые могут быть выброшены execute
?Сравнение строк здесь может сработать, но это кажется плохим решением.