Apa yang Anda cari adalah SqlException, khususnya pelanggaran batasan kunci utama. Anda bisa mendapatkan kesalahan khusus ini dari pengecualian ini dengan melihat properti number dari pengecualian yang dilemparkan. Jawaban ini mungkin relevan dengan apa yang Anda butuhkan:Bagaimana Mengidentifikasi duplikasi kunci utama dari kode kesalahan SQL Server 2008?
Singkatnya, terlihat seperti ini:
// 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:
Ini mungkin sedikit meretas, tetapi Anda juga bisa memeriksa komponen pesan dari pengecualian. Sesuatu seperti ini:
if (ex.Message.Contains("UniqueConstraint")) // do stuff