При попытке подключиться к базе PosgreSQL кидается исключение которое я не могу перехватить
Пишу веб приложение на ASP.NET Core 3.1 MVC. Работаю с внешней БД PosgreSQL и мне нужно отрабатывать моменты, когда БД недоступна. За подключение отвечает следующий кусок кода:
try {
connectionToDb = new NpgsqlConnection(connectionString.ConnectionString);
if (connectionToDb == null) throw new Exception("connectionToDb = null");
connectionToDb.Open();
dbConnectionEstablished = true;
Console.WriteLine("The database connection was established.");
} catch (Exception ex) {
Console.WriteLine($"Unable to connect to the DB:\n {ex.Message}");
}
Когда с БД какие-то проблемы то connectionToDb.Open() кидает исключение, но это исключение ложит всё приложение! Т.е. оно не улетает в блок catch, а приложение встаёт колом и Visual Studio показывает на строчку с connectionToDb.Open() и говорит, что в этой строчке возникло необработанное исключение. Возможно, что исключение возникает в каком-то внутреннем потоке внутри connectionToDb.Open() но что мне с этим делать?