Я пытаюсь реализовать ведение журнала для сценария системных исключений ios. Приложение, над которым я работаю, asp. net mvc реализовано с использованием репозитория generi c. Я не уверен, насколько это важно или возможно войти в систему на уровне хранилища. Например, в репозитории есть методы, подобные следующим:
public T Find(Expression<Func<T, bool>> predicate)
{
return DbSet.AsNoTracking().SingleOrDefault(predicate);
}
SingleOrDefault()
. В методе linq есть исключения, такие как ArgumentNullException
и InvalidOperationException
. Мне интересно, в каком сценарии будет выдано это исключение, и в этом случае система выйдет из строя или просто вернет ноль. Нужно ли проверять обнуляемость T
и predicate
вместе с ним?
Я нашел такой вопрос ( Обработка исключений в структуре сущностей, MVC с шаблоном хранилища ), но это только описывает нормы ведения журнала.
Будет ли простая попытка поймать, как это сделает следующая работа?
try
{
return DbSet.AsNoTracking().SingleOrDefault(predicate);
}
catch
{
HelperSeriLog.WriteError(ex);
return null;
}