Главная страница
    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.048 c
8-1119786910
Максим
2005-06-26 15:55
2005.11.13
Бинауральные частоты в Delphi


14-1129810870
wHammer
2005-10-20 16:21
2005.11.13
Как перевести исходники с версии 6 на версию 5


4-1126194693
vvvaaa
2005-09-08 19:51
2005.11.13
Работа с памятью


4-1125746538
psa247
2005-09-03 15:22
2005.11.13
DeleteMenu


2-1129474903
quadronik
2005-10-16 19:01
2005.11.13
присвоение даты в maskedit.text





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