Здравствуйте!
Есть некий код, который активизируется на asp.NET странице в числе с прочим по кнопке "Кнопка":
OracleConnection oraConn=new OracleConnection(connectstr);
oraConn.Open();
OracleTransaction tx = oraConn.BeginTransaction();
OracleCommand oraCom=new OracleCommand(sqlstr, oraConn, tx);
try
{
oraCom.ExecuteNonQuery();
tx.Commit();
}
catch(Exception ex)
{
tx.Rollback();
oraConn.Close();
if (ex.Message.IndexOf("SHIFR_UNIQ")>0) mes("Такой шифр уже существует.");
return;
}
oraConn.Close();
После нормальной отработки кода (без исключения) происходит переход на другую страницу, где отражаются внесенные изменения.
А если после нажатия на кнопку "Кнопка", возникает исключение, то появляется сообщение "Такой шифр уже существует.". После сообщения пользователь естественно меняет шифр и нажимает кнопку "Кнопка" и происходит переход на другую страницу, НО никакие изменения в базу данных оказываются не внесены. Даже если после появления сообщения
"Такой шифр уже существует." нажать на кнопку "Кнопка" никакого сообщения уже не появляется и происходит просто переход на следующую страницу на которой естественно нет никаких изменений.
Почему после возникновения исключения игнорируется код?
Может кто-нибудь подскажет, как с этим бороться?
Обработка исключений
От:
Аноним
Дата:
18.04.05 13:34
Оценка:
Приведенного кода явно недостаточно, чтобы диагностировать причину ошибки. Пройдитесь внимательно дебаггером, уверяю, все быстро встанет на свои места.