При попытке подключиться к базе 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() но что мне с этим делать?


Ответы (0 шт):