12 / 12 / 2
Регистрация: 03.10.2008
Сообщений: 436
1

Обработка ошибок

23.12.2008, 02:59. Показов 8802. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Как заменить стандартное сообщение об ошибке на свое?
Например если при коннекте с хостом таймаут выдается стандартная ошибка "Socket error 10060", и я хочу что бы если такая ошибка появлялась в программе то выдавало мое сообщение "Connection timed out" а не стандартное.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
23.12.2008, 02:59
Ответы с готовыми решениями:

Обработка ошибок
Всем привет! Как сделать так, чтобы программа забивала, если функция StrToInt(s) выдавала ошибку...

Обработка ошибок
Почему все таки возникают иногда ошибки при обработке: Stream :=...

Обработка ошибок
Доброго времени суток ! Суть проста: нажимаю на менюшку, она должна загрузить изображение на...

Обработка ошибок в WinInet
На Indy делал когда нужно так: except on E: EIdHTTPProtocolException do begin ...

3
Супер-модератор
8783 / 2536 / 144
Регистрация: 07.03.2007
Сообщений: 11,873
23.12.2008, 09:43 2
надо ставить перехватчик исключений
пример:
Код
Reset(F);
try
 ...  // process file F
finally
  CloseFile(F);
end;
0
12 / 12 / 2
Регистрация: 03.10.2008
Сообщений: 436
24.12.2008, 02:02  [ТС] 3
А что конкретно надо писать вместо ... для моей ошибки?
Выделил ClientSocket.Active:=True; как проблемное место, все равно выдает стандартную ошибку

Добавлено через 1 час 17 минут 33 секунды
Ответ снова нашелся, только с помощью 4-часового поиска в инете:
Кратко есть 2 варианта:
1. В компоненте ClientSocket поставить в свойстве ClientType:=ctBlocking (stNonBlocking не блокирует дальнейшее выполнение кода программы при операциях на сокете до завершения операции.) и тогда можно обрабатывать с помощью try..except
2. Описать событие OnError


Следующей вопрос, как можно присвоить переменной номер ошибки сокета?
0
12 / 12 / 2
Регистрация: 03.10.2008
Сообщений: 436
07.01.2009, 01:24  [ТС] 4
try
s:=IdHTTP1.Get('http://sdgfsdfsg.ru/ver.txt');
except
ShowMessage('Ошибка');
end;

Выдается стандартная ошибка сокета 11004, но не моя

Добавлено через 2 минуты 55 секунд
Разобрался, оказалось в Delphi есть собственный обработчик...
0
07.01.2009, 01:24
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
07.01.2009, 01:24
Помогаю со студенческими работами здесь

Excel обработка ошибок
Добрый день, писал программу которое копирует данные из одной книги excel в другой, при работе с...

REST запросы, обработка ошибок
Здравствуйте. Использую компоненты RESTRequest и RESTResponse. Отправляю запросы, получаю ответы...

Обработка ошибок при работе с файлами
Обработка ошибок при работе с файлами.Нужно переписать файл в другой файл заменяя при этом 'f' на...

Обработка ошибок при вводе в Edit
Имеется часть кода try q:=StrToFloat(Edit1.Text); except exit; ShowMessage('Введена лишняя...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru