Всем здравствуйте!
Задам блондиночный вопрос. Сейчас разбираюсь с отправкой почты через idSMTP на разные там тестовые сервера. Ну и сыплются ошибки в большом количестве, вида
"Проект ХХХ вызвал класс исключения EIdSMTPError" с сообщением: <здесь ошибка, возвращаемая сервером>
(см. скриншот). Как можно ошибку, полученную от сервера, выводить в человеческом виде? Т. е. не выводить исключение отладчика, а выводить ответ сервера?
Перехват сообщений отладчика
Модератор: Модераторы
-
wwswowsogon
- постоялец
- Сообщения: 157
- Зарегистрирован: 23.12.2008 19:41:37
Перехват сообщений отладчика
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Можно как обычно перехватывать исключения :
try / except
в блоке except уже делать с ошибкой все, что угодно ...
try / except
в блоке except уже делать с ошибкой все, что угодно ...
-
wwswowsogon
- постоялец
- Сообщения: 157
- Зарегистрирован: 23.12.2008 19:41:37
Примерно так я и сделал. Но легче не стало.
хотя исключение вылетает как раз в момент коннекта/посылки. Возможно, в except должно быть написано нечто другое? Как вообще понять, на каком классе ловить сообщение? На том, на котором ошибка отладчика вылетает?
Код: Выделить всё
try
idSMTP1.Connect();
idSMTP1.Send(emmsg);
except
on EidSMTPReplyError: Exception do ShowMessage(EidSMTPReplyError.Message);
end;
- Sergei I. Gorelkin
- энтузиаст
- Сообщения: 1409
- Зарегистрирован: 24.07.2005 14:40:41
- Откуда: Зеленоград
А галку "игнорировать этот тип исключений" поставить - не?
