Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Как перехватить ошибку в приложении? [D7, XP]


St74 ©   (2006-01-04 19:07:00) 

Здравствуйте Уважаемые!
Как мне перехватить ошибку "Неверный аргумент для преобразования в дату" появляющуюся при
запуске программы, но не появляющуюся при запуске программы с помощью клика по файлу
созданному данной программой!

...
var
 Str: string;
 i: Integer;
begin
 if (ParamCount > 0) then
 begin
   Str := ParamStr(0);
   for i := 2 to ParamCount do
   begin
     Str := Str + '' + ParamStr(i);
   end;
   RxRichEdit2.Lines.LoadFromFile(lfn(ParamStr(1)));
   MyProg.Caption := 'На данный момент открыт фаил - ' + (lfn(ParamStr(1)));
 end;
 MyProg.KeyPreview := True;
 label5.Caption := IntToStr(GetFileSize(ParamStr(1))) + ' байт';
  GetFileDate(ParamStr(1));// вот тут если ошибка потушить её
end;
...


St74   (2006-01-05 14:34:00) [1]


> Гаврила ©   (05.01.06 01:47) [8]


Здря!Функция для определения размера файла!(Функция для определения последнего изменения файла)


Гаврила   (2006-01-05 01:47:00) [2]


> Плохиш ©


"появляющуюся при
запуске программы, но не появляющуюся при запуске программы с помощью клика по файлу
созданному данной программой!"

Судя по всему, автор вообще не знает, зачем нужет этот кусок кода и что он означает.
Видимо, или дорабатывает чужую программу, или взял готовый чужой код для своей.

АВТОРУ
Надо сначала проверить, есть ли вообще параметр запуска, если нет - сразу выходить из обработчика.
Переписать нафиг этот самый GetFideDate, чтобы не поднимал исключение.
Думаю, так


Плохиш   (2006-01-05 01:26:00) [3]


>  GetFileDate(ParamStr(1)); // вот тут если ошибка потушить её

Я может и глупость спрошу, но не понимаю на кой фиг вызывать функцию, если возвращаемое значение её нафиг никому не нужно, учитывая то, что функция только и делает, что возвращает это значение?


St74   (2006-01-04 23:13:00) [4]


> Virgo_Style ©   (04.01.06 23:00) [5]


ЗвЫнЯйТе!Но кто акромя вас уважаемых поможет и вразумит!


Virgo_Style   (2006-01-04 23:00:00) [5]

и охота же функции в форум копипастить вместо того, чтобы написать три строчки и проверить,

> нормально или нет


St74   (2006-01-04 22:29:00) [6]


> Мне неизвестно, что представляет из себя подпрограмма GetFileDate


function GetFileDate(FileName: string): string;
var
 FHandle: Integer;
begin
 FHandle := FileOpen(FileName, 0);
 try
   result := DateTimeToStr(FileDateToDateTime(FileGetDate(FHandle)));
 finally
   FileClose(FHandle);
 end;
end;


begin...end   (2006-01-04 20:32:00) [7]

> St74   (04.01.06 20:06) [2]

Не знаю я. Мне неизвестно, что представляет из себя подпрограмма GetFileDate, поэтому я не знаю, какие исключения могут в ней возникать.


St74   (2006-01-04 20:06:00) [8]


> begin...end ©   (04.01.06 19:11) [1]


Вот так нормально или нет!
...
try
 GetFileDate(ParamStr(1));
 except
 // Обработка ощибки 'Неверный аргумент для преобразования в дату'
 // возникающую при запуске программы!
 on EConvertErrordo
 exit;
 end
...


begin...end   (2006-01-04 19:11:00) [9]

try
 GetFileDate(ParamStr(1))
except
 // Обработка ошибки
end


Наверх

Титульная страница Поиск, карта сайта Написать письмо