Вниз
Скачать: CL | DM;

Перехват всех критических ситуаций (ошибок) в приложении   Найти похожие ветки 

← →
Ландграф Павел ©   (2005-09-12 10:48) [0]

Можно ли при любой ошибке (када вылетает сообщение об ошибке и предложение отправить отчет/закрыть) просто перезапускать программу, чтобы не нервировать юзера?


← →
Плохиш ©   (2005-09-12 11:01) [1]

Можно, но код писать придётся. См. TApplication.OnException.


← →
Ландграф Павел ©   (2005-09-12 11:26) [2]

а если ошибка возникнет сама по себе, бывают такие приколы в w98/95 ничего не делаешь, прога в памяти, раз - ошибка. В этом случае возможно ли в отдельном потоке следить за работой проги, и если в что, реагировать?


← →
ANB ©   (2005-09-12 11:34) [3]


> Ландграф Павел ©   (12.09.05 11:26) [2]
- в делфи-приложениях нормально организована обработка исключений по умолчанию. Если таки вылезло такое сообщение, то ошибка больно серьезная. Если у тебя настолько разрушен процесс, что стандартная обработка не справляется, то отдельный поток не поможет, нужен еще один, следящий процесс. Имхо, лучше выяснить причину ошибки и исправить ее.


← →
Плохиш ©   (2005-09-12 11:51) [4]


> Ландграф Павел ©   (12.09.05 11:26) [2]
> а если ошибка возникнет сама по себе, бывают такие приколы
> в w98/95 ничего не делаешь, прога в памяти, раз - ошибка

Тогда только поставлять бубен с программой.


← →
Ландграф мобил=)   (2005-09-12 12:55) [5]

Исправить ошибку нельзя, т.к. она возникает редко, и только на одном компе, я так понял что проблема в работе с принтером(после печати через любое количество времени может возникнуть ошибка, если не печатать вообще никакой ошибки не будет)... и меня просто попросили дописать лично для них обработку ошибки - перезапуск программы


← →
Котик Бегемотик   (2005-09-12 14:23) [6]

А не проще ли написать маленький *.bat файл

:restart
program.exe
if errorlevel 2 goto restart

а в программе на OnException ловить эту страшную ошибку м выходить по Halt(2).


← →
Fay ©   (2005-09-12 16:17) [7]

2 Ландграф мобил=)   (12.09.05 12:55) [5]
Если, к примеру, валится стек, то ловить что-либо бесполезно. Даже [6] не поможет


← →
Ландграф Павел ©   (2005-09-12 20:32) [8]

Эх.. короче бесполезно... ладно, всем спасибо)


← →
Nick Denry ©   (2005-09-13 13:20) [9]

Так ведь делают некоторые программы так?

Типа МС Word"a?

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


← →
Digitman ©   (2005-09-13 14:27) [10]


> ошибка возникнет сама по себе


сами по себе даже кролики не плодятся


← →
Ландграф мобил=)   (2005-09-13 16:49) [11]

Я же вроде для одаренных написал что ошибка дров?! Или вы читаете выборочно, тов. Дартц=)


← →
Lamer@fools.ua ©   (2005-09-13 17:03) [12]

>>Ландграф мобил=)   (13.09.05 16:49) [11]

Значит, всё-таки, не сама по себе, а из-за драйверов?


← →
Ландграф Павел ©   (2005-09-13 18:59) [13]

Нет блин, из-за волшебства...


← →
Digitman ©   (2005-09-14 12:09) [14]


> Ландграф Павел ©   (12.09.05 11:26) [2]


> возможно ли в отдельном потоке следить за работой проги,
>  и если в что, реагировать?


нельзя.

следует думать, что упомянутый тобой поток "живет" в том зе процессе, что и завершающийся (снимаемый системой с выполнения) по некоему отказу ?

если так, то поток этот умирает вместе с процессом и "следить" за чем-то там, разумеется, не может.

p.s.


> Нет блин, из-за волшебства


блинкать, саркастичный ты наш, будешь в с пацанами на  посиделках


← →
ANB ©   (2005-09-15 10:08) [15]


> Ландграф Павел ©   (13.09.05 18:59) [13]
- как я уже писал и правильно заметил товарищ Digitman, поток не спасет. А вот другой процесс - вполне.
Есть идея : создаешь вспомогательную прогу, которая запускает нужное приложение и следит за ним. В случае падения, запускает еще раз. Нужно только отличить нормальное завершение от аварийного падения (можно искать окно об ошибке).  Все имхо, пример писать лениво.



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

Скачать: CL | DM;



Память: 0.48 MB
Время: 0.025 c
14-1130129703
Ega23
2005-10-24 08:55
2005.11.13
С днем рождения! 24 октября


2-1129796780
Alex7
2005-10-20 12:26
2005.11.13
Переменная "Self"


14-1129904930
Unicum
2005-10-21 18:28
2005.11.13
Симуляция испарения калпи


2-1129720063
Df23
2005-10-19 15:07
2005.11.13
Не понимаю, почему так.


8-1119786910
Максим
2005-06-26 15:55
2005.11.13
Бинауральные частоты в Delphi




   Наверх