Хочу реализовать в работе паттерн репозитория, и озаботился вопросом, где же предпочтительнее обрабатывать исключения?
Внутри методов репозитория или снаружи, или и там и там? Если обработку исключений делать внутри, то не будет ли следующая запись перегруженной ?
public async Task<(bool, TFileRef?)> GetAsync(Guid id, CancellationToken cancellationToken)
{
try
{
using (var dbContext = dbContextFactory.CreateDbContext())
{
var item = await dbContext.TFileRefs.FindAsync(id, cancellationToken);
if (item == null)
{
logger.LogWarning($"Item {0} not found", id);
}
return (true, item);
}
}
catch (Exception ex)
{
logger.LogError(ex, $"Item {0} not found", id);
return (false, null);
}
}