Mam kod catch:
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
W przypadku tego fragmentu kodu próbuję wstawić rekord do bazy danych: dba skonfigurował go tak, że baza danych sprawdza, czy istnieją duplikaty i zwraca błąd, jeśli są duplikaty. Obecnie jak widać dodam ten sam błąd do modelu bez względu na to jaki błąd wystąpił. Chcę, żeby to się zmieniło, więc ten błąd jest dodawany do modelu tylko wtedy, gdy został spowodowany przez zduplikowany błąd ustawiony przez dba.
Poniżej znajduje się błąd, który chcę wyłapać. Zauważ, że jest to wewnętrzny wyjątek. Czy ktoś może mi powiedzieć, jak konkretnie to złapać?
Exception
nie jest najlepszą praktyką. Powinieneś być tak dokładny, jak to tylko możliwe i pozwolić, aby wszystko, z czym nie możesz sobie poradzić, dotarło do użytkownika / struktury.