Обработка ошибки
{
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);
}
}
Подскажите что тут может быть неправильно
Не обрабатывает ошибку
ESockError.
Ошибка может быть другого класса, т.е. отличного от
ESockError.
Выдает ошибку именно этого класса
Выдает ошибку именно этого класса
А тогда в чем проблема? Выходит ошибка ловится catch блоком.
А тогда в чем проблема? Выходит ошибка ловится catch блоком.
не выводит сматри листинг в первом сообщении
не выводит сматри листинг в первом сообщении
Т.е. не выполняется код ListBox1->Items->Add(t.Message);?
Может message пуст? Можно написать для контроля, что вообще ловится ли ошибка напр.
ListBox1->Items->Add([color=red]"[/color]t.Message[color=red]"[/color]);
Т.е. не выполняется код ListBox1->Items->Add(t.Message);?
Может message пуст? Можно написать для контроля, что вообще ловится ли ошибка напр.
ListBox1->Items->Add([color=red]"[/color]t.Message[color=red]"[/color]);
Бесполезно
Бесполезно
Что бесполезно? Определить вчем проблема? Мимоходом,не ESockError,а ESocketError.
Если будут добавлены записи типа "t.Message", тогда ошибка ловится блоком. Если нет, значит ошибка в другом месте, напр. перед блоком try.
Еще может быть, если запускаешь прогу с Buildera, что в Debugger Options включен Integrated Debugging.
Это меню Tools->Debugger Options...
Что бесполезно? Определить вчем проблема? Мимоходом,не ESockError,а ESocketError.
Если будут добавлены записи типа "t.Message", тогда ошибка ловится блоком. Если нет, значит ошибка в другом месте, напр. перед блоком try.
Как ни странно это тоже не помогло ты лучше не злися а попробуй сам откомпилировать.
Как ни странно это тоже не помогло ты лучше не злися а попробуй сам откомпилировать.
:) а за что мне злится?
Может ты не заметил повторю:
Еще может быть, если запускаешь прогу с Buildera, что в Debugger Options включен Integrated Debugging.
Это меню Tools->Debugger Options...
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);
}
//...