AFAIK, так как вам интересно, в каком конкретном ограничении не получилось, все, что вы делаете, - единственный путь.
Я не уверен, о какой базе данных вы говорите, но вы можете попробовать .. SQLException.getErrorCode()
и SQLException.getSQLState()
. Это даст вам больше информации в зависимости от поставщика БД.
Например, в Oracle SQLException.getErrorCode()
просто скажет вам, что ограничение нарушено, а не обязательно какое ограничение.