Tengo un código de captura de prueba:
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
Para este fragmento de código, estoy tratando de insertar un registro en una base de datos: el dba lo ha configurado para que la base de datos busque duplicados y devuelva un error si hay duplicados. Actualmente, como puede ver, estoy agregando el mismo error al modelo sin importar qué error haya ocurrido. Quiero que se cambie, por lo que este error solo se agrega al modelo si fue causado por el error duplicado configurado por el dba.
A continuación se muestra el error que quiero detectar. Tenga en cuenta que está en la excepción interna. ¿Alguien puede decirme cómo atrapar específicamente este?
Exception
no es una buena práctica. Debe ser lo más específico posible y dejar que todo lo que no pueda manejar llegue al usuario / marco.