Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

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

2.1K
20 апреля 2005 года
Werti
47 / / 31.01.2004
void __fastcall TForm1::Button2Click(TObject *Sender)
{
NMFTP1->Host="192.168.50.25";
NMFTP1->Password="user@host.com";
NMFTP1->UserID="anonymous";
try
{
NMFTP1->Connect();
if(NMFTP1->Connected==true){Form1->Caption="oK";}
}
catch (ESockError& t)
{
ListBox1->Items->Add(t.Message);
}
}
Подскажите что тут может быть неправильно
Не обрабатывает ошибку
488
20 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Ошибка может быть другого класса, т.е. отличного от
ESockError.
2.1K
20 апреля 2005 года
Werti
47 / / 31.01.2004
Цитата:
Originally posted by Mоngооsе
Ошибка может быть другого класса, т.е. отличного от
ESockError.


Выдает ошибку именно этого класса

488
20 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Werti
Выдает ошибку именно этого класса

А тогда в чем проблема? Выходит ошибка ловится catch блоком.

2.1K
20 апреля 2005 года
Werti
47 / / 31.01.2004
Цитата:
Originally posted by Mоngооsе
А тогда в чем проблема? Выходит ошибка ловится catch блоком.


не выводит сматри листинг в первом сообщении

488
20 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Werti
не выводит сматри листинг в первом сообщении

Т.е. не выполняется код ListBox1->Items->Add(t.Message);?

Может message пуст? Можно написать для контроля, что вообще ловится ли ошибка напр.
ListBox1->Items->Add([color=red]"[/color]t.Message[color=red]"[/color]);

2.1K
20 апреля 2005 года
Werti
47 / / 31.01.2004
Цитата:
Originally posted by Mоngооsе
Т.е. не выполняется код ListBox1->Items->Add(t.Message);?

Может message пуст? Можно написать для контроля, что вообще ловится ли ошибка напр.
ListBox1->Items->Add([color=red]"[/color]t.Message[color=red]"[/color]);


Бесполезно

488
20 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Werti
Бесполезно

Что бесполезно? Определить вчем проблема? Мимоходом,не ESockError,а ESocketError.

Если будут добавлены записи типа "t.Message", тогда ошибка ловится блоком. Если нет, значит ошибка в другом месте, напр. перед блоком try.

Еще может быть, если запускаешь прогу с Buildera, что в Debugger Options включен Integrated Debugging.
Это меню Tools->Debugger Options...

2.1K
20 апреля 2005 года
Werti
47 / / 31.01.2004
Цитата:
Originally posted by Mоngооsе
Что бесполезно? Определить вчем проблема? Мимоходом,не ESockError,а ESocketError.

Если будут добавлены записи типа "t.Message", тогда ошибка ловится блоком. Если нет, значит ошибка в другом месте, напр. перед блоком try.


Как ни странно это тоже не помогло ты лучше не злися а попробуй сам откомпилировать.

488
20 апреля 2005 года
Mоngооsе
465 / / 01.04.2005
Цитата:
Originally posted by Werti
Как ни странно это тоже не помогло ты лучше не злися а попробуй сам откомпилировать.

:) а за что мне злится?

Может ты не заметил повторю:
Еще может быть, если запускаешь прогу с Buildera, что в Debugger Options включен Integrated Debugging.
Это меню Tools->Debugger Options...

7.1K
20 апреля 2005 года
miXme
44 / / 10.04.2005
Цитата:
Originally posted by Werti
void __fastcall TForm1::Button2Click(TObject *Sender)
{
NMFTP1->Host="192.168.50.25";
NMFTP1->Password="user@host.com";
NMFTP1->UserID="anonymous";
try
{
NMFTP1->Connect();
if(NMFTP1->Connected==true){Form1->Caption="oK";}
}
catch (ESockError& t)
{
ListBox1->Items->Add(t.Message);
}
}
Подскажите что тут может быть неправильно
Не обрабатывает ошибку



А что происходит после клика? В поле Form1->Caption чего нить записывается?

Дело в том, что если эта ошибка не реализована в библиотеке, то значит не посылается throw - соответственно catch (ESockError& t) его и не ловит. Для проверки можно порекомендовать расширить код:

//....
try
{
NMFTP1->Connect();
if(NMFTP1->Connected==true)
{Form1->Caption="oK";}
[COLOR=red]else {Form1->Caption="Error";}[/COLOR]
}
catch (ESockError& t)
{
ListBox1->Items->Add(t.Message);
}
//...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог