Как работает блок "наконец".
Я должен знать, когда, наконец, блок действительно будет выполнен.наконец, блок выполняется после того, как произошло исключение, или будет выполняться нормально?
фрагмент кода:
try { if (txt_password.Text == txt_cpassword.Text) { con.Open(); cmd = new SqlCommand("DELETE FROM LoginTB WHERE Username = '" + txt_username.Text + "' AND Password = '" + txt_cpassword.Text + "'", con); cmd.ExecuteNonQuery(); MessageBox.Show("User account Deleted"); } else { MessageBox.Show("Sorry...Password does not match with confirm password "); } } catch (Exception) { MessageBox.Show("Invalid operation"); } finally { con.Close(); }
Если блок try-catch не дает мне никаких исключений, это означает, что он обычно выполняется до желаемого результата.
если я напишу кон.Close() в finally блок есть близкие отношения или я должен написать кон.Close () в блоке try.
Благодарный вам.
PIEBALDconsult
Я согласен с Роханом и хотел бы добавить, что открытый должен быть вне try/catch. Лучше было бы переместить код доступа к данным в отдельный класс (уровень доступа к данным).