Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
ВнизПерехват всех критических ситуаций (ошибок) в приложении Найти похожие ветки
← →
Ландграф Павел © (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 вся ветка
Форум: "WinAPI";
Текущий архив: 2005.11.13;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.045 c