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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 08.03.2020, 20:39   #1
KAPTOH
 
Регистрация: 04.03.2020
Сообщений: 6
По умолчанию RAD XE3+ Обрабатываю исключение в потоке, но оно все равно попадает в FatalException

Код большой, поэтому кусками

тут execute, сначала настройка конекта, потом попытка

Цитата:
try
Imap.Connect(true);
ErrNum:=-1;
except

on E: Exception do ErrorText:= AnsiLowerCase(E.ClassName+'->'+e.Message)+' | ';
on E: EIdException do ErrorText:= AnsiLowerCase(E.ClassName+'->'+e.Message);

end;
if
(AnsiPos(AnsiLowerCase('timed out'),ErrorText)>0)
then
ErrNum:=1;
//.............
procedure ThreadTerm(Sender: Tobject);
var
th: MyThr absolute Sender;
begin
if th.FatalException <> nil then
begin
th.ErrorText:=th.ErrorText+#13#10+t h.FatalException.ToString;
th.ErrNum:=3;
inc(errors);
MainForm.e_TotalErrors.Text := errors.ToString;
end;
end;

case ErrNum of
0: ...
1: ...
else
begin
inc(errors);
MainForm.e_TotalErrors.Text := errors.ToString;
SaveValid(found_errors, th.email + ':' + th.pass + ' Unknown error: [' + th.ErrorText + ']');
end;
end;
вывел th.ErrorText в текстовик
и увидел подобное:

Loginass Unknown error: [eidconnclosedgracefully->connection closed gracefully.
Connection Closed Gracefully.]

В 1 строке у нас ошибка в маленьком регистре, что означает что ошибку он поймал и обработал, а на выходе он поймал FatalException такой же и следовательно ошибка не попала в нужный case

Если ошибка обработана, она все равно будет в FatalException??? Просто бред, туда же могут и другие ошибки попадать из кода
KAPTOH вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Explorer.exe Исключение неизвестное программное исключение Windows XP, что делать? Igorilla Windows 6 02.04.2013 22:49
Как из метода X в потоке А, вызвать метод Y и чтобы он работал в потоке B ? lawliet93 C# (си шарп) 0 09.03.2013 18:16
Исключение неизвестное программное исключение... Host-2013 Паскаль, Turbo Pascal, PascalABC.NET 19 09.02.2013 21:30
Создание/изменение/удаление файлов в потоке. Мониторинг файлов в потоке. The Real Kos Общие вопросы Delphi 5 22.10.2012 23:58
Загрузка в отдельном потоке TIdHTTP всё равно "замораживает" форму Cold_Night Общие вопросы Delphi 3 07.04.2010 19:35