Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
Внизне понимаю что с try-except Найти похожие ветки
← →
sqlmaniac (2008-03-03 16:08) [0]Это первый опыт использования исключений, поэтому прошу понять :) Соединяюсь с базой данных при помощи dbExpress. Вот фрагмент кода
DataModule1.MSSQLConnection.Params.Values["HostName"]:= EditServName.Text;
DataModule1.MSSQLConnection.Params.Values["DataBase"]:= EditDatabaseNAme.Text;
DataModule1.MSSQLConnection.Params.Values["User_Name"]:= EditUserName.Text;
DataModule1.MSSQLConnection.Params.Values["Password"]:= EditPassword.Text;
try
DataModule1.MSSQLConnection.Connected:=True;
except
on EDatabaseError do begin
MessageDlg("Not connected!",mtError,[mbOK],0);
EDatabaseError.
end;
end;
Книги говорят, что конструкция try-except должна отлавливать исключение и не позволять появляться ошибке, однако при оставлении полей пустыми, либо при недоступности сервера да и при любой другой ошибке компиляция прерывается с соответсвующим ErrorMessage. Не понимаю :)
← →
Palladin © (2008-03-03 16:14) [1]
> EDatabaseError.
а это что такое?
← →
sqlmaniac (2008-03-03 16:16) [2]это класс исключения, прямой наследник от Exception. Именно он создается, например, при незаполнении обязательных послей и попытке соединиться с базой. Впрочем если эту строчку убрать, то всё равно ничего не меняется (сначала пробовал вообще без неё).
← →
DiamondShark © (2008-03-03 16:17) [3]
> Книги говорят, что конструкция try-except должна отлавливать
> исключение и не позволять появляться ошибке
Это архангельские с флёновыми, что-ли? Плюнь, то не книги, а враги леса.
> компиляция прерывается с соответсвующим ErrorMessage
Точно компиляция? Ничего не путаешь?
В приведённом огрызке кода обрабатывается только EDatabaseError и его наследники. Ты уверен, что у тебя появляется исключение только этого (и его наследников) класса?
← →
Palladin © (2008-03-03 16:20) [4]это я понимая что это класс исключения и бла бла бла... мне не понятно что же эта строчка олицетворяет то собой? да еще с точкой на конце. что она должна делать по твоему мнению? мне очень интересно. это раз. два. я очень дико извиняюсь конечно. но как это у тебя компиляция прерывается во время работы приложения? ну да ладно. ларчик в принципе просто открывается: Menu\Tools\Debugger Options\Language Exceptions\Stop on Delphi Exceptions галку снимаем...
вообще смешной ты :)
← →
sqlmaniac (2008-03-03 16:28) [5]Ой "EDatabaseError." это артефакт)) Смотрел в списочке какие у этого объекта есть методы и забыл стереть когда копировал)
Нет не компиляция. Выполнение. НУ мы ведь друг друга поняли). Ну я говорю в частности про этот класс. Если убрать вообще строчку
on EDatabaseError do
то ничего не меняется. Так же вылетают "Project bla-bla raised exception class EDatabaseError with message ....." с различными сообщениями в зависимости от того на каком этапе соединения произошла ошибка.
Спасибо за понимание!
← →
sqlmaniac (2008-03-03 16:30) [6]Palladin спасибо! Всё понял)
← →
Семеныч (2008-03-03 16:39) [7]> sqlmaniac (03.03.08 16:30) [6]
Но лучше эту галку не снимать. Тогда при запуске под средой исключение возникать будет (что удобно для отладки), а при автономном запуске - не будет (что и требовалось).
← →
Ega23 © (2008-03-03 18:15) [8]
> Values["User_Name"]
Пробел вместо подчеркивания, если это ADOConnection.ConnectionString
← →
Anatoly Podgoretsky © (2008-03-03 19:09) [9]> DiamondShark (03.03.2008 16:17:03) [3]
Точно, убьешь бобра - спасешь дерево, убьешь Архангельского спасешь лес.
← →
Leonid Troyanovsky © (2008-03-04 20:10) [10]
> Anatoly Podgoretsky © (03.03.08 19:09) [9]
> Точно, убьешь бобра - спасешь дерево, убьешь Архангельского
> спасешь лес.
Поздно уже :(
И леса того уже нет, и зараза распространилась широко.
Пандемия.
--
Regards, LVT.
← →
Германн © (2008-03-05 00:24) [11]
> Leonid Troyanovsky © (04.03.08 20:10) [10]
>
>
> > Anatoly Podgoretsky © (03.03.08 19:09) [9]
>
> > Точно, убьешь бобра - спасешь дерево, убьешь Архангельского
> > спасешь лес.
>
> Поздно уже :(
Но наши люди сражались!
http://www.delphikingdom.com/asp/articles_forum.asp?ArticleID=1082
Борьба велась два года с хвостиком, но зараза всё-таки распространилась. Остаётся уповать только на регулярные, по мере ненеобходимости, инъекции ААсыворотки. :)
← →
Германн © (2008-03-05 02:23) [12]Заиканияе, мой тяжкий крест! :(
← →
Германн © (2008-03-05 02:26) [13]Блин! А очепятками я заразился от АП!
:)
← →
Anatoly Podgoretsky © (2008-03-05 09:48) [14]> Германн (05.03.2008 02:26:13) [13]
Только про лечение не надо.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.30;
Скачать: [xml.tar.bz2];
Память: 0.47 MB
Время: 0.109 c