Когда вы ловите SQLException
, вы можете проверить его свойство Number
или перейти к его свойству Errors
и проверить, содержит ли оно SqlError
с номером 547 - это должно быть нарушением ограничений. Если вам нужны подробности о том, какое ограничение было нарушено и по какой таблице вы должны действительно проанализировать сообщение как упомянутое @tyrongower. Шаблон для сообщения:
The %ls statement conflicted with the %ls constraint "%.*ls". The conflict occurred in database "%.*ls", table "%.*ls"%ls%.*ls%ls.
Edit:
В зависимости от типа приложения, которое вы разрабатываете, вы должны знать о локализации. Сервер SQL может локализовать свои сообщения об ошибках, поэтому, если вы развернете приложение на сервере, используя другой языковой стандарт, ваш анализ сообщений об исключении не будет работать.