Перехват сообщений отладчика

Вопросы программирования и использования среды Lazarus.

Модератор: Модераторы

Ответить
wwswowsogon
постоялец
Сообщения: 157
Зарегистрирован: 23.12.2008 19:41:37

Перехват сообщений отладчика

Сообщение wwswowsogon »

Всем здравствуйте!

Задам блондиночный вопрос. Сейчас разбираюсь с отправкой почты через idSMTP на разные там тестовые сервера. Ну и сыплются ошибки в большом количестве, вида

"Проект ХХХ вызвал класс исключения EIdSMTPError" с сообщением: <здесь ошибка, возвращаемая сервером>

(см. скриншот). Как можно ошибку, полученную от сервера, выводить в человеческом виде? Т. е. не выводить исключение отладчика, а выводить ответ сервера?
У вас нет необходимых прав для просмотра вложений в этом сообщении.
grot
новенький
Сообщения: 82
Зарегистрирован: 13.02.2010 15:33:03

Сообщение grot »

Можно как обычно перехватывать исключения :
try / except
в блоке except уже делать с ошибкой все, что угодно ...
wwswowsogon
постоялец
Сообщения: 157
Зарегистрирован: 23.12.2008 19:41:37

Сообщение wwswowsogon »

Примерно так я и сделал. Но легче не стало.

Код: Выделить всё


try

    idSMTP1.Connect();
    idSMTP1.Send(emmsg);

  except

    on EidSMTPReplyError: Exception do ShowMessage(EidSMTPReplyError.Message);

  end;   
хотя исключение вылетает как раз в момент коннекта/посылки. Возможно, в except должно быть написано нечто другое? Как вообще понять, на каком классе ловить сообщение? На том, на котором ошибка отладчика вылетает?
Аватара пользователя
Sergei I. Gorelkin
энтузиаст
Сообщения: 1409
Зарегистрирован: 24.07.2005 14:40:41
Откуда: Зеленоград

Сообщение Sergei I. Gorelkin »

А галку "игнорировать этот тип исключений" поставить - не?
Ответить