This behavior applies for both exceptions that are thrown manually and exceptions that the system throws. When an exception is thrown inside a ttsBegin-ttsCommit transaction block, no catch statement inside that transaction block can process the exception, (
unless it is a UpdateConflict or a DuplicateKeyException).
https://learn.microsoft.com/en-us/dy...xpp-exceptions
Как понимаю для UpdateConflict и DuplicateKeyException можно было обрабатывать в транзакции. В 12 точно. Судя по тексту и в 365 должно быть так же, но на моем приложении это не так.