Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "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.038 c
3-1127815972
ANB
2005-09-27 14:12
2005.11.13
(Oracle) Как правильно написать триггер для автоприсвоения ID


2-1130230589
Бульбаш
2005-10-25 12:56
2005.11.13
Вопрос по Qreport


2-1130317875
Рома Иванов
2005-10-26 13:11
2005.11.13
html


14-1129899930
oldman
2005-10-21 17:05
2005.11.13
Эстония купила (или взяла на время) у НАТО стелс...


14-1129649926
Kolan
2005-10-18 19:38
2005.11.13
Прграмма BpWin что это?





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский