Когда я получаю исключение в этом коде, я не знаю, почему сообщение об ошибке появляется дважды. Я попытаюсь объяснить это лучше: картинка стоит тысячи слов:Одно исключение Два сообщения
кто может мне помочь?
Спасибо в adavance!
Когда я получаю исключение в этом коде, я не знаю, почему сообщение об ошибке появляется дважды. Я попытаюсь объяснить это лучше: картинка стоит тысячи слов:Одно исключение Два сообщения
кто может мне помочь?
Спасибо в adavance!
На изображении вы можете увидеть новую строку между сообщением об исключении. В OdbcConnection
классе, метод CreateException()
обрабатывает OdbcErrorCollection
ошибок и клеи их вместе с Environment.NewLine
(кодом из .NET 4.0 System.Data):
internal static OdbcException CreateException(OdbcErrorCollection errors, ODBC32.RetCode retcode)
{
StringBuilder stringBuilder = new StringBuilder();
foreach (OdbcError odbcError in errors)
{
if (stringBuilder.Length > 0)
stringBuilder.Append(Environment.NewLine);
stringBuilder.Append(Res.GetString("Odbc_ExceptionMessage", (object) ODBC32.RetcodeToString(retcode), (object) odbcError.SQLState, (object) odbcError.Message));
}
return new OdbcException(((object) stringBuilder).ToString(), errors);
}
По-видимому, основная библиотека работает в ту же ошибку дважды, и затем выбрасывает (одно) исключение для вас.
Я не знаю, есть ли что-нибудь, что вы можете сделать, чтобы предотвратить это, похоже, что с ничего не случилось с вашим кодом.
Прежде всего спасибо, но жаль, что я не понимаю, что вы хотите сделать, (извините, что мой engligh не мой сильный момент) ... Хочешь ли я передать исключение из метода, который ты написали? Я не могу найти ODBC32 ... – MirlvsMaximvs
Код, который я опубликовал, находится в коде 'System.Data.OdbcConnection'. Это часть структуры, и она показывает, как две ошибки могут появляться в одном объекте «Исключение». –
Хорошо, но я не могу найти ODBC32 ... – MirlvsMaximvs
Если что-то появляется дважды, это, вероятно, называется дважды. Вы проверили с помощью отладчика, что код соединения вызывается только один раз? –
сделал u проверить, почему ошибка брошена? –
Сообщения разделяются (но не завершаются) с помощью '\ r \ n', поэтому в какой-то момент они склеены и выбрасываются. Возможно, «OdbcConnection» пытается предоставить дополнительные сведения об исключении, но получение этих данных дает другое исключение. –