Из приложения .NET 3.5/С# я хотел бы поймать SqlException
, но , только если он вызван взаимоблокировками на экземпляре SQL Server 2008.
Типичное сообщение об ошибке Transaction (Process ID 58) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.
Однако для этого исключения он не является документированным кодом ошибки.
Фильтрация исключений из-за наличия ключевого слова deadlock в их сообщении кажется очень уродливым способом достижения такого поведения. Кто-нибудь знает правильный способ сделать это?