Просто объявите свой собственный класс исключений.
public class DuplicateNameException : Exception {}
Возможно, вы захотите добавить несколько конструкторов, чтобы убедиться, что сообщение настроено соответствующим образом, но это не должно быть намного сложнее.
Обновлено после пояснения из OP : Таким образом, БД выдает исключение, и вы просто хотите сделать более понятным, в чем проблема. В этом случае я предлагаю вам сохранить исключение для БД как InnerException
и отбросить что-нибудь получше. Итак, объявите DuplicateNameException
примерно так:
public class DuplicateNameException : Exception
{
public DuplicateNameException(DBException ex)
: base("Duplicate name!", ex)
{}
}
Тогда, где вам нужно выполнить операции с БД:
try
{
DoDatabaseOperation();
}
catch (DBException ex)
{
if (IsDuplicateNameException(ex))
{
throw new DuplicateNameException(ex);
}
else
{
throw; // use the no-argument form of "throw" to ensure you don't break the stack trace!
}
}