На Visual Studio 2017, как закрыть программное обеспечение внутри try / catch? - PullRequest
0 голосов
/ 22 января 2019

Я разрабатываю программное обеспечение на C # для Visual Studio 2017, и я хочу, чтобы оно не инициализировалось, если база данных не работает, поэтому я попробовал попробовать / поймать ниже, но программное обеспечение по-прежнему не выходит, у меня естьдве кнопки для выхода, и они работают, но выход на try-catch не работает.Я много чего пробовал, размещая app.exit и закрывая коды в разных местах, вызывая из других функций, просто не работает.Это код:

public partial class Form1 : Form
{
    int errobd = 0;
    public Form1()
    {
        InitializeComponent();
        try
        {
            string connectionString = "server=localhost;user id=root;persistsecurityinfo=True;database=bd_cem";
            MySqlConnection connection = new MySqlConnection(connectionString);
            connection.Open();
            connection.Close();
        }
        catch
        {
            Close();

            // at this point, the errobd++ works, so the if down there will be true
            errobd++;
            MessageBox.Show("Error message.");
            Application.Exit();
            Debug.WriteLine("ERRO = " + errobd);
        }
        if(errobd>0)
        {
            Sairsembanco();
        }

        LoadSalaNome();
        LoadADI();
    }

, и после всех этих усилий функция LoadSalaNome () все еще пытается работать, вызывая сбой программного обеспечения из-за того, что БД не работает.

1 Ответ

0 голосов
/ 22 января 2019

Вы также можете попробовать это:

Environment.Exit(exitCode)

Это завершает процесс и дает базовой операционной системе указанный код выхода. Для этого вам необходимо иметь права доступа SecurityPermissionFlag.UnmanagedCode, иначе возникает ошибка SecurityException. Этот вызов следует использовать, если вы запускаете консольное приложение.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...