Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Вниз

как перекрыть exception ?   Найти похожие ветки 

 
Dysan   (2004-02-03 14:13) [0]

Мастера! Подсткажите как перекрыть выполнение exception
и добавить туда то что мне нужно? И вообще можно ли сделать
чтоб каждый раз не писать try и т.д.?


 
Карелин Артем   (2004-02-03 14:16) [1]

Application.OnException пойдет?


 
Digitman   (2004-02-03 14:18) [2]


> добавить туда


куда ?


> можно ли сделать
> чтоб каждый раз не писать try и т.д


в осн.код.потоке при использовании объекта Application - запросто. На то и существует событие TApplication.OnException


 
Dysan   (2004-02-03 14:22) [3]

про TApplication.OnException я знаю
меня интерисует вопрос как в эту процедуру добавить то что мне нужно. просто я этим никогда не пользовался. случая не было.


 
Digitman   (2004-02-03 14:24) [4]

а что тебе нужно ?


 
Тимохов   (2004-02-03 14:24) [5]

Здесь два вопроса:
1. Что мне нужно? (мы ессно не знаем, что нужно)
2. Как добавить? (брось компонент TApplicationEvents, реализуй событие OnException, вроде все)


 
Dysan   (2004-02-03 14:38) [6]

Ну вобщем грубо говоря
Если я напишу так

procedure TApplication.OnException
begin
открыть файл
запись кода ошибки
закрыть файл
end;

то это не правильно. а как надо я не знаю


 
Тимохов   (2004-02-03 14:41) [7]

Конечно не правильно...
Дельфи, к сожалению, не знает "открыть файл".
Она знает конкретные команды.
Другой вопрос как ты их написал?

Может кодом поделишься, или это тайна?


 
Тимохов   (2004-02-03 14:42) [8]

Блин, а это что "procedure TApplication.OnException"
Ты где это пишешь? Причем тут класс TApplication?


 
Mystic   (2004-02-03 14:42) [9]

> Dysan © (03.02.04 14:38) [6]

Тоже вариант. Чего неправильно?


 
Dysan   (2004-02-03 14:54) [10]

для мля я для примера написал "открыть файл и т.д."
чтоб не выписывать assign и т.д.

"Ты где это пишешь? Причем тут класс TApplication?" - Да нигде я это не пишу я спрашиваю как на писать? Как добавить в OnException или куда там еще, НАПРИМЕР открытие и закрытие файла. Меня не интерисует само открытие и закрытие.


 
Тимохов   (2004-02-03 14:56) [11]


>
> Dysan © (03.02.04 14:54) [10]

Будте внимательней.
См 5, пункт 2.
Тас все есть.
Компоненты бросать умеете?
Тогда вперед.


 
Dysan   (2004-02-03 14:58) [12]

Так будет правильно?

procedure TC.go;
begin
Application.OnException := Catcher;
end;

procedure TgsCatcher.Catcher;
begin
{что то}
end;
end.


 
Digitman   (2004-02-03 15:05) [13]


> Dysan © (03.02.04 14:58) [12]
> Так будет правильно?


неправильно.

пример-то в хэлпе для кого дан ? для Пушкина ? или ты даже не удосужился в хэлп глянуть, прежде чем тут "для мля" ?


 
Тимохов   (2004-02-03 15:07) [14]

Нет, не правильно.

Catcher должен быть таким:
procedure TGsCather.Catcher(Sender: TObject; E: Exception);

На будущее, см. модуль forms, очень полезно.


 
Тимохов   (2004-02-03 15:09) [15]

Согласен с 13 - в хелпе точно такой пример есть.


 
Dysan   (2004-02-03 15:11) [16]

да да я просто не дописал (Sender: TObject; E: Exception);


 
Тимохов   (2004-02-03 15:20) [17]

тогда правильно, если учесть, что где-то в другом месте (скрытом от нас) нет ошибок.


 
icWasya   (2004-02-03 17:57) [18]

например так

кладёшь на форму ApplicationEvents

выбираешь в инспекторе объектов
Events->OnException-> DblClick
программируешь


procedure TForm1.ApplicationEvents1Exception(Sender: TObject; E: Exception);

var
F:TextFile;
begin
AssignFile(F,"C:\Temp\AppLog.txt");
{$I-}
Append(F);
if IoResult<>0 then Rewrite(F);
if IoResult<>0 Exit;
{$I+}

WriteLN(F,"Exception :",E.ClassName );
WriteLN(F," ",E.Message );

CloseFile(F);
end;



Страницы: 1 вся ветка

Форум: "Основная";
Текущий архив: 2004.02.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.48 MB
Время: 0.009 c
1-38954
Goida
2004-02-02 17:52
2004.02.13
Грязь в округлении


3-38668
Крутыш
2004-01-25 11:16
2004.02.13
Вопрос по запросу


9-38665
yava2
2003-08-02 15:38
2004.02.13
Параллельное проигрывание с DXWave


14-39073
DelphiN!
2004-01-24 12:48
2004.02.13
Деньги за банеры


8-38975
Blacked
2003-10-14 01:37
2004.02.13
Как отследить окончание просмотра файла в TMediaPlayer?





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский