I have an application in .NET. It updates a SQL Server database.
An exception is thrown. How do I know exactly what happened?
Understanding that it, for instance, was a foreign key violation isn't any problem. But which foreign key is.
The explaining text (exception.Message) is enough for me, as a human, since it holds (semi-) free text. But a computer shouldn't have to lower itself to human chitter chatter.
Especially since the error message might change between SQL Server versions and absolutely between installed languages. "...foreign key exception FK_Cust..." or "...fr?mmande nyckel undantag FK_Cust..."
There is a number (a remains from the COM heydays?) that maps to a certain class of error but I haven't found the very foreign key, or index, or constraint that failed in a computer understandable way.
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…