![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Получение кода ошибки в Indy.
Alexander Panov © (2005-04-06 17:22:00)Как в Indy получить код ошибки в случае возникновения Exception, конкретно в TIdHTTP:
try
Body :=IdHTTP1.Get('URL');
except
// Как здесь получить код ошибки, например 10065 и пр.?
end;
Alexander Panov (2005-04-06 18:24:00) [1]Eraser © (06.04.05 18:23) [7]
Жаль, конечно...
Буду думать...
Eraser (2005-04-06 18:23:00) [2]Alexander Panov ©
Да уж... как всегда делали делали и в самом интересном месте схалтурили... это кстати не единственный глюк Indy с многопоточностью....
Alexander Panov (2005-04-06 18:17:00) [3]При ошибке не попадаю в блок ON e: ...
Eraser (2005-04-06 18:16:00) [4]Alexander Panov ©
А какая там может быть проблема...?
Alexander Panov (2005-04-06 18:06:00) [5]Вот только с обработкой в отдельном потоке, увы, проблема...
Alexander Panov (2005-04-06 17:53:00) [6]Eraser © (06.04.05 17:49) [2]
Спасибо! Кажется, получается.
Только для Indy9 получается так:
on e: EIdHTTPProtocolException do ErrorNumb := e.ReplyErrorCode;
Eraser (2005-04-06 17:49:00) [7]Alexander Panov ©
Нашёл кажись...
должно быть что-то типа
var
ErrorNumb: integer;
...
try
Body :=IdHTTP1.Get('URL');
except
on e: EIdHTTPProtocolException do ErrorNumb := e.ErrorCode;
end;
не уверен насчёт правильности синтаксиса... не помню точно как оформляются on execption блок в секции исключений, но смысл такой!
Eraser (2005-04-06 17:41:00) [8]Alexander Panov ©
Сразу такое решение направшивается...
try
...
except
on EZeroDivide do HandleZeroDivide;
А код ошибки там по-моему не во всех исключениях есть...