Как указано здесь и здесь, исключения, возникающие в async Task, технически не обрабатываются.
Это особенно неприятно при работе с MVC. На самом деле нам потребовалось некоторое время, чтобы понять, почему все чаще и чаще происходит исключение, но мы постепенно вводили вызовы Web API в наши приложения за последние несколько недель.
public async Task<ActionResult> Foo()
{
// ...
}
Предлагаемое обходное решение состоит в том, чтобы заставить VS нарушить все исключения вместо только необработанных исключений. Он работает с раздражающим "побочным эффектом", который действительно нарушает все исключения:)
Есть ли другое обходное решение, которое не связано с нарушением всех исключений? Это может быть специфично для MVC, но не обязательно (это означает, что это общее решение, которое работает для MVC).