Det, du leder efter, er en SqlException, specifikt overtrædelsen af primære nøglebegrænsninger. Du kan få denne specifikke fejl ud af denne undtagelse ved at se på number-egenskaben for den kastede undtagelse. Dette svar er sandsynligvis relevant for det, du har brug for:Hvordan identificerer du den primære nøgleduplikering fra en SQL Server 2008-fejlkode?
Sammenfattende ser det sådan ud:
// put this block in your loop
try
{
// do your insert
}
catch(SqlException ex)
{
// the exception alone won't tell you why it failed...
if(ex.Number == 2627) // <-- but this will
{
//Violation of primary key. Handle Exception
}
}
EDIT:
Dette kan være lidt hacky, men du kan også bare inspicere meddelelseskomponenten i undtagelsen. Noget som dette:
if (ex.Message.Contains("UniqueConstraint")) // do stuff