У меня есть фрагмент кода попытки перехвата:
try
{
...
}
catch(Exception ex)
{
ModelState.AddModelError(
"duplicateInvoiceNumberOrganisation", "The combination of organisation and invoice number must be unique");
}
Для этого фрагмента кода я пытаюсь вставить запись в базу данных: dba настроила ее так, чтобы база данных проверяла наличие дубликатов и возвращала ошибку, если дубликаты есть. В настоящее время, как вы можете видеть, я добавляю в модель одну и ту же ошибку независимо от того, какая ошибка произошла. Я хочу, чтобы это было изменено, чтобы эта ошибка добавлялась в модель только в том случае, если она была вызвана повторяющейся ошибкой, установленной dba.
Ниже приведена ошибка, которую я хочу поймать. Обратите внимание, что это внутреннее исключение. Может кто подскажет, как конкретно эту ловить?
Exception
- не лучшая практика. Вы должны быть как можно более конкретными и позволять всему, с чем вы не можете справиться, всплывать перед пользователем / фреймворком.