![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
![]()
Помню вроде бы есть такая функция... Но название забыл...
К примеру недавно появилось исключение socket error 10060 connection timed out что это и куда это я понимаю. Вопрос в том как 1) перехватить исключение и не показать его пользователю. 2) понять какое именно исключение что бы к примеру перезапустить indy клиент, иначе после исключения весь цикл крашиться.... Весьма благодарен =) Последний раз редактировалось Des; 29.04.2009 в 14:36. |
![]() |
![]() |
![]() |
#2 |
Заснувший
Форумчанин
Регистрация: 13.03.2009
Сообщений: 213
|
![]()
Этот код просто обрабатывает ошибку в случае возникновения
try //действие except ShowMessage('Произошла ошибка'); end; А этот показывает что за ошибка произошла try //действие except on E: Exception do begin Memo1.Lines.Add(e.Message); //тип исключения end; Блок "try ... except" и есть "такая функция" Последний раз редактировалось Виталий Серов; 29.04.2009 в 00:45. |
![]() |
![]() |
![]() |
#3 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
![]()
Спасибо большое! Будем пробовать!
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
![]()
У меня чуть чуть проблемка
пишу: Код:
![]() Последний раз редактировалось Des; 29.04.2009 в 13:43. |
![]() |
![]() |
![]() |
#5 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
если тестируешь из под Дельфи то стандартная отобразится(если не отключенны исключения)
иначе только твоя должна(если все верно) запусти сам, ручками, а не через Дельфи Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#6 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
![]()
Без разници.
Стандартное сообщение которое образуется после моего ShowMessage(): Socket error # 10061 Connection refused |
![]() |
![]() |
![]() |
#7 |
Старожил
Регистрация: 28.01.2009
Сообщений: 21,000
|
![]()
так может ошибка идет после твоего сообщения?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел. Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите. |
![]() |
![]() |
![]() |
#8 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
![]()
В смысле?
Сначала мое появляется: Код:
Код:
![]() |
![]() |
![]() |
![]() |
#9 |
я получил эту роль
Старожил
Регистрация: 25.05.2007
Сообщений: 3,694
|
![]()
Может с http1 где-то дальше используется. Поставь бряк в начале блока try в процедуре login (F5) и попробуй законнектиться. Потом пройдись пошагово (F8) и смотри где что не так работает. И поменяй on login: Exception на on E: Exception, а то стрёмная какая-то конструцкия с именем процедуры
Кстати "Connection refused" куда более информативное сообщение, чем "Не смогли подключиться к серверу". Лучше оставлять стандартные сообщения об ошибках, или хотя бы точно переводить их. Пользователю-то в принципе пофиг что будет написано в окошке с красным крестиком - главное что программа не работает должным образом, зато потом на форумах появляется "Памагити у меня не работает пишет Программа не смогла подключиться", и поди-догадайся почему - сервер разорвал соединение, отклонил его или вообще интернет отключён или файрвол не выпустил
пыщь
|
![]() |
![]() |
![]() |
#10 |
Форумчанин
Регистрация: 12.11.2008
Сообщений: 124
|
![]()
JTG
Вот для того что бы юзер куда попало не стал жаловаться мне и нужно в перехваченых исключениях донести до юзера мол "Извините нет коннекта, возможные причины...". Выше предоставленный код конечно же будет переделываться и дорабатываться. а login - это для наглядности :D Ну что ж =), я дальше пошел по F7 и что обнаружил ))). После этого блока, у меня идет еще один блок try, уже собственно с http1.Post, вот в нем то и вызывается мое второе исключение, потому как я программе запретил в файрволе лезть в инет. Но я то думал раз исключение, значит и процедура заканчивается ![]() ![]() ![]() Огромное спасибо! ![]() |
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Отлов горячих клавиш, Builder C++ 6.0 | MsF | C++ Builder | 2 | 24.02.2009 11:02 |
Отлов событий | Antoha | Общие вопросы Delphi | 3 | 26.10.2008 10:20 |
Отлов кликов мыши | LAFUDR | Помощь студентам | 9 | 24.05.2008 01:32 |
Sreen Saver отлов событий | Alexoid | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 10 | 28.04.2008 15:41 |
Кодировка в приложениях | Horror | Общие вопросы .NET | 3 | 16.04.2008 14:23 |