![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как перехватить ошибку в приложении? [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