Попробуй поймай наконец
Мэйби, это просто для тебя, а для меня - нет. У меня есть этот код:
Private int InsertData()
{
int rezultat = 0;
try
{
if (sqlconn.State != ConnectionState.Open)
{
sqlconn.Open();
}
rezultat = (int)cmd.ExecuteScalar();
}
catch (Exception ex)
{
lblMesaje.Text = "Eroare: " + ex.Message.ToString();
}
finally
{
if (sqlconn.State != ConnectionState.Closed)
{
sqlconn.Close();
}
}
return rezultat;
}
Просто для вставки новой записи в таблицу. Даже если при этом выдается ошибка "Указанное приведение недействительно". "Rezultat=(целое)cmd.ExecuteScalar();" - код выполняется, и строка вставляется в базу данных, и выполнение продолжается.
Почему это продолжается? Мэйби, я не понимаю, наконец, попробуй поймать Smile |:)
Спасибо!
1 ответ
Решение
В вашем коде вы явно ловите Exception. Вот почему исполнение продолжается. Если вы хотите остановить выполнение, если какое-либо исключение было перехвачено, вам нужно вызвать исключение. Бросить новое исключение (ex.getMessage());
Но это не лучшая практика. Старайтесь отлавливать только объявленные исключения, а не класс исключений высокого уровня.