Как отловить ошибки подключения к базе данных в ASP.NET Core MVC

Поэтому я изо всех сил пытался поймать ошибки, связанные с базой данных, например, если база данных SQL не работает или недоступна, я получаю сообщение об ошибке, вызванное кодом, и веб-сайт отображает пустую страницу, и если я использую app.UseDeveloperExceptionPage(); в методе Configure, он работает нормально, но когда я пытаюсь использовать

либо

 app.UseStatusCodePagesWithRedirects("/error?error={0}");

or

 app.UseExceptionHandler("/error?error={0}");

Ничего не происходит, просто отображается пустая страница, отлов других ошибок типа 404 и так далее работает нормально. Как правильно уловить все общие ошибки в проекте .NET Core MVC?


person Aistis Taraskevicius    schedule 20.03.2017    source источник
comment
возможно, stackoverflow.com/questions/21993758/ может вам помочь   -  person Wouter van Vegchel    schedule 20.03.2017
comment
@WoutervanVegchel кажется слишком сложным для того, что мне нужно, а проекты .Net Core MVC структурированы и обрабатываются по-разному, поэтому на самом деле это не применимо.   -  person Aistis Taraskevicius    schedule 20.03.2017
comment
Может быть, более подходящим вопросом будет: как обрабатывать ошибки в .net MVC. И я могу сказать вам, что если вы погуглите пару минут, у вас будет больше ответов, чем вы сможете обработать.   -  person SomeRandomName    schedule 20.03.2017
comment
@SomeRandomName Мне не нужны старые и устаревшие способы обработки ошибок в .net mvc. Core — это разные звери, и все проекты он обрабатывает по-разному. Существуют официальные руководства по обработке ошибок, но они не работают для ошибок подключения к базе данных, о чем я и прошу.   -  person Aistis Taraskevicius    schedule 20.03.2017
comment
Я столкнулся с такой же проблемой, вам удалось найти решение?   -  person Malrig    schedule 13.10.2017
comment
Нет, я какое-то время не касался проекта, для которого это требовалось, я не уверен, исправил ли это Net Core 2.0 или это все еще проблема. Одно предложение, которое я могу сделать, - это обернуть инициацию базы данных (в startup.cs) в методе try and catch и отображать ошибку, если она не работает. То же самое, вероятно, можно сделать и для некоторых других ошибок, которые не обрабатываются автоматически.   -  person Aistis Taraskevicius    schedule 13.10.2017