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

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

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 23.06.2015, 14:23   #1
Codeart
Пользователь
 
Регистрация: 19.06.2015
Сообщений: 11
По умолчанию Исключительная ситуация

Вот такая ситуация . Хочу сделать перехват системного сообщения , что файл не найден . И вместо системного сообщения чтобы выдавалось мое . Проблема в том , что мое сообщение "Файл Memo1.txt не найден !" выводиться не вместо системного , а перед или после него .

Код:
try
{
Memo1->Lines->LoadFromFile( "Memo1.txt" );

}
catch( ... )
{

ShowMessage( "Файл Memo1.txt не найден !" );
}

Последний раз редактировалось Вадим Мошев; 23.06.2015 в 14:31.
Codeart вне форума Ответить с цитированием
Старый 23.06.2015, 14:45   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Не хочешь заменить try на IF с функцией проверки существования файла?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.06.2015, 14:53   #3
Codeart
Пользователь
 
Регистрация: 19.06.2015
Сообщений: 11
По умолчанию

FileExists вроде .Как ето реализовать ?
Codeart вне форума Ответить с цитированием
Старый 23.06.2015, 15:02   #4
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
FileExists вроде .Как ето реализовать ?
Код:
if (FileExists("Memo1.txt"))
  try
  {
    Memo1->Lines->LoadFromFile(  );
  }
  catch( ... )
  {
    ShowMessage( "Shit happens! :((" );
  }
else ShowMessage( "Файл не найден." );
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.06.2015, 15:15   #5
Codeart
Пользователь
 
Регистрация: 19.06.2015
Сообщений: 11
По умолчанию

ехх , shit happens . результат тот же . сообщение выводиться , но системная ошибка тоже .
Codeart вне форума Ответить с цитированием
Старый 23.06.2015, 15:18   #6
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

покажь кодЪ. и скриншоты/видео давай!
Жалко, билдера у меня нет, а ставить неохото.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.06.2015, 15:28   #7
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
сообщение выводиться , но системная ошибка тоже .
Ты запусти программу не из под Билдера.
Если запускать в режиме отладки, то системные сообщения тоже будут.
Запусти ее просто так.
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 23.06.2015, 15:35   #8
Codeart
Пользователь
 
Регистрация: 19.06.2015
Сообщений: 11
По умолчанию

2 варианта кода , результат тот же , сначала системная ошибка , далее та , что задана . Ошибки запуска ехе файла и со среды

Код:
__fastcall TPagesDlg::TPagesDlg(TComponent* AOwner)
	: TForm(AOwner)
try
{
Memo1->Lines->LoadFromFile( "Memo1.txt" );
}
catch( ... )
{

ShowMessage( "Файл Memo1.txt не найден !" );
}
---------------------------------------------------------------------------------

void __fastcall TPagesDlg::FormCreate(TObject *Sender)
{
Memo1->Lines->LoadFromFile("Memo1.txt") ;

}

ИЛИ ТВОЙ ВАРИАНТ --------------------------------------------------------------

__fastcall TPagesDlg::TPagesDlg(TComponent* AOwner)
	: TForm(AOwner)
{
if (FileExists("Memo1.txt"))
  try
  {
    Memo1->Lines->LoadFromFile(  );
  }
  catch( ... )
  {
    ShowMessage( "Shit happens! :((" );
  }
else ShowMessage( "Файл не найден." );
}
--------------------------------------------------------------------------------
void __fastcall TPagesDlg::FormCreate(TObject *Sender)
{
Memo1->Lines->LoadFromFile("Memo1.txt") ;

}
Изображения
Тип файла: jpg eror.jpg (63.6 Кб, 112 просмотров)
Тип файла: jpg error Builder.jpg (35.4 Кб, 113 просмотров)

Последний раз редактировалось Stilet; 23.06.2015 в 15:38.
Codeart вне форума Ответить с цитированием
Старый 23.06.2015, 15:41   #9
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

А где ж сообщения "Shit happens" и "Файл не найден"?
На втором скришоте не исключение, а уведомление дебаггера, из-под которого прога запущена. EFOpenError - класс исключения. Кстати, в папке я тоже не вижу файла Memo1.txt.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...
min@y™ вне форума Ответить с цитированием
Старый 23.06.2015, 15:43   #10
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
void __fastcall TPagesDlg::FormCreate(TObject *Sender)
{
Memo1->Lines->LoadFromFile("Memo1.txt") ;

}
А где тут проверки?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
исключительная ситуация Kaela Общие вопросы C/C++ 1 30.11.2012 19:07
Исключительная ситуация: EInOutError Khayzenberg Общие вопросы Delphi 1 27.10.2012 16:09
Исключительная ситуация Mozgunov Общие вопросы Delphi 2 14.11.2010 11:42
исключительная ситуация Psicheja Помощь студентам 1 18.03.2010 23:40
Исключительная ситуация Delphi VadEr Помощь студентам 1 20.09.2009 20:22