Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

Обработка ошибок Indy. собственно как поймать?   Найти похожие ветки 

 
Виталий Юрьевич   (2006-08-19 23:08) [0]

Добрый день.
Имеется программа, использующая idSMTP компонент...
хотелось бы вытащить больше информативности при отправке по двум пунктам:
1)информацию вида - подключились, шлём, отключились.
status в принципе пока использую, но там же всё по английски.. может есть какие коды чтоли :) Как выход можно  сравнивать строки "resolving host" на "получение хоста" вроде...

2) и основное - обработка исключений.. как я не мучался c except"ом всяко разно.. так и не получилось..EIdSockedError делфи говорит что не знает такой.. вот и нужно на конкретную ошибку делать конкретные действия - на ошибку авторизации сказать что пароль не тот.. и т.д.
а то вроде exception вроде есть, и тот который надо, но идёт он "от имени делфи"... и пишет нормально "host not found"  "authentification failed"....  а как же всё это в человеческий вид сделать...

а пока и сижу на
except
message("ВСЁ. хана. что-то не так...")

:)

заранее благодарю за помощь..


 
Пусик ©   (2006-08-19 23:09) [1]


> Виталий Юрьевич   (19.08.06 23:08) 


С Indy очень важно, какая версия Indy используется.


 
Виталий Юрьевич   (2006-08-19 23:13) [2]

Indy 10, что в комплекте с D2005


 
Виталий Юрьевич ©   (2006-08-20 15:29) [3]

пока делаю так:

except on e : EIdException
do begin
messagedlg("Произошла ошибка - "+e.Message,mtError,[mbOK],0);
читабельно хотябы..

делфе класс EIdException известен.. а остальное почему то не известно...


 
Пусик ©   (2006-08-20 15:48) [4]

А где, код, ошибки в котором обработать надо?


 
Сергей М. ©   (2006-08-20 15:58) [5]


> а остальное почему то не известно


оно и тебе не известно.
Иначе бы не устраивал здесь клоунаду, а привел бы конкретный класс исключения.


 
Пусик ©   (2006-08-20 16:19) [6]


> Виталий Юрьевич ©   (20.08.06 15:29) [3]


Та вроде бы достаточно информации об ошибке и в таком случае:

 DispLog("Подключение к серверу...");
 try
   idSmtp1.Connect;
   DispLog("Подключение к серверу... Ok");
 except
   on E: Exception do DispLog(E.Message);
 end;

 if idSmtp1.Connected then
 try
   DispLog("Отправка письма...");
   idSmtp1.Send(IdM);
   DispLog("Отправка письма... Ok");
 except
   on E: Exception do DispLog(E.Message);
 end;
 if idSmtp1.Connected then idSmtp1.Disconnect;


 
Виталий Юрьевич ©   (2006-08-22 21:35) [7]

Пусик, да собственно всё надо обработать.. если не произошёл connect, то почему (нет инета, непраилый сервер, неправильный логин, неправильный пароль и т.п.)... потому и просто обработать в связке try connect except нельзя.. поскольку будет ошибка просто что не подключился - а нужно причину, почему именно не подключился..

Сергей М. в документации указано куча исключений, но делфи почему то не хочет их "ловить". например, несколько из тех, которые я ЗНАЮ.

EIdSockedError — Ошибка сокета.
EIdSocksAutnError — Ошибка идентификации пользователя на Socks-прокси.
EIdDnsResolverError —Ошибка класса TIdDnsResolver.
EIdInvalidSocked —Неожиданное закрытие соединения.
EIdMaxLoginAttempt — потомок класса EIdLoginException. Исчерпан лимит подключений.
...
и т.д.


 
Пусик ©   (2006-08-22 23:10) [8]

В сообщении Exception(а точнее - в коде ошибки) есть вся исчерпывающая информация.


 
Виталий Юрьевич ©   (2006-08-23 19:35) [9]

обидно блин.. перенесли в "начинающим"... хотя я на делфи около 7 лет работаю... за деньги...
ну не натыкался я ранее на indy..
с проблемой разобрался.. сам... думал, тут быстрее ответы дадут... а тут только что-то типа "ты тупой иди отсюда здесь тебе не место".... очень жаль..



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.054 c
3-1151502224
antoxa2005
2006-06-28 17:43
2006.09.10
Вопросик. Сколько клиентов можно подк MS SQL 2005 Server Express


15-1155833944
чучу
2006-08-17 20:59
2006.09.10
Кнопки в Firefox


15-1155692801
Батыр
2006-08-16 05:46
2006.09.10
Делпхи 5,,7


2-1156245231
XTD
2006-08-22 15:13
2006.09.10
Если нет коннекта выдать свое сообщение (indy)


2-1155755535
ronyn
2006-08-16 23:12
2006.09.10
$251E - db Error





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский