I had a usual scenario of handling various SQLExceptions and I found that there is in fact a very nice table which holds a list of all such scenarios.You just need to run the following query in your master DB.
SELECT * FROM sysmessages
And you can handle the errors in the C# side by looking into the Number property for SQLException.
catch (SqlException exception)
if (exception.Number == 2601)
//Ignore.Its ok I can live with this!