Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.05.2016, 08:56   #1
ashkalov
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 10
Вопрос Обработка исключений Indy

Всем привет).
Юзаю компонент IdIMAP4 и вроде бы все хорошо, но...
Если вдруг, во время авторизации на сервере возникает ошибка, возникает исключение.
Проблема в том, что класс этого исключения какой-то общий EIdReplyIMAP4Error.
А необходимо обрабатывать конкретные ситуации, например ошибку авторизации и показывать соответствующее сообщение.
Вот код.

Код:
try
   idimap4.host := {hostname};
   idimap4.Port := {port};
   idimap4.Username := {username};
   idimap4.Password := {pass};
   IdSSLIOHandlerSoket.SSLOptions.Method := sslvSSLv3;
   idimap4.IOHandler := IdSSLIOHandlerSoket;
   idimap4.UseTLS := utUseImplicitTLS;
   idimap4.connect;
except
   on error: exception { вот здесь бы конкретное указать} do
      showmessage(error.message); // а пока только так =(
end;

Последний раз редактировалось ashkalov; 22.05.2016 в 08:58.
ashkalov вне форума Ответить с цитированием
Старый 22.05.2016, 08:57   #2
ashkalov
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 10
По умолчанию

Забыл еще сказать что версия indy 10
ashkalov вне форума Ответить с цитированием
Старый 22.05.2016, 14:23   #3
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,897
По умолчанию

Привлечь
Код:
if (Error.ClassName = 'класс ошибки') then Bla-bla
Shouldercannon вне форума Ответить с цитированием
Старый 22.05.2016, 14:42   #4
ashkalov
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 10
По умолчанию

Цитата:
Сообщение от Shouldercannon Посмотреть сообщение
Привлечь
Код:
if (Error.ClassName = 'класс ошибки') then Bla-bla
И в итоге получаю EIdReplyIMAP4Error

Мне нужно точное определение ошибки, а это дает только поверхностное. Неужели парсинг текста ошибки единственный выход?

Последний раз редактировалось Alex11223; 22.05.2016 в 16:28.
ashkalov вне форума Ответить с цитированием
Старый 22.05.2016, 14:46   #5
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Может у IdIMAP4 есть свойство с кодом результата? Если у исключения его нет.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.05.2016, 14:48   #6
ashkalov
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 10
По умолчанию

Может быть и есть, но я его не нашел... (((
ashkalov вне форума Ответить с цитированием
Старый 22.05.2016, 14:57   #7
ashkalov
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 10
По умолчанию

Видимо это какой-то редкий компонент, что даже профессионалы и заслуженные модераторы не знают ответа...(((
ashkalov вне форума Ответить с цитированием
Старый 22.05.2016, 15:05   #8
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Надпись "Профессионал" выдается автоматически за 1000 сообщений.
Модераторство тоже не имеет прямого отношения к опыту и умению программировать, а "заслуженные" тут все

Я например давно не писал ничего на Дельфи, ибо есть "более лучшие" языки/фреймворки для этих целей, за которые еще и не надо платить сотни долларов.
А Инди не использовал еще дольше (перешел на Synapse).
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 22.05.2016, 15:15   #9
ashkalov
Пользователь
 
Регистрация: 30.07.2012
Сообщений: 10
По умолчанию

А Synaps лучше чем indy?
ashkalov вне форума Ответить с цитированием
Старый 22.05.2016, 16:28   #10
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Ну мне он показался удобнее и проще, чем неповоротливый Инди.
+ при необходимости исходники относительно легко можно почитать и поизменять.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Обработка исключений. Indy proxy. greenisius Общие вопросы C/C++ 0 12.12.2013 13:13
Обработка исключений David Villa Общие вопросы C/C++ 3 03.03.2013 19:53
Обработка исключений с пoмощью структурированной обработки исключений Smart Visual C++ 3 01.11.2012 15:38
Indy обработка исключений seoanalyzer Работа с сетью в Delphi 5 19.03.2012 20:23
Обработка исключений try... except Kati Помощь студентам 5 07.03.2010 10:18