При создании лесов ApiController
с асинхронными действиями и поддержкой Entity Framework в Visual Studio 2013 некоторые методы завершают DbContext.SaveChangesAsync
звонки в try-catch
блоках.DbContext.SaveChangesAsync Обработка исключений
Например, метод Put,
try
{
await db.SaveChangesAsync();
}
catch (DbUpdateConcurrencyException)
{
if (!EmployeeExists(id))
{
return NotFound();
}
throw;
}
От msdn.microsoft.com о DbUpdateConcurrencyException
,
Исключение брошенной DbContext, когда ожидается, что SaveChanges для объекта приведет в обновлении базы данных, но на самом деле никаких строк в базе данных не было.
The DbUpdateConcurrencyException
является производным от DbUpdateException
и есть несколько других исключений, которые могут быть выброшены из метода DbContext.SaveChangesAsync
.
Мне интересно, почему для этих other exceptions нет предложений об уловке? Это ради краткости? Или они просто не принадлежат на этом уровне в заявке?
Спасибо, это имеет смысл. –