Как сообщить пользователю, что приложение сбоит
От: Аноним  
Дата: 17.08.08 19:23
Оценка:
Когда приложение не может работать дальше, когда произошла какая-то критическая внутренняя ошибка,
как вы доносите до пользователя просьбы, что не плохо было бы сообщить разработчику об этой ошибке, перезапустить программу и может быть переустановить ее.

Подобные сообщения можно выдавать использую например WinForms, но не хочется ими пользоваться в библиотеках классов. Может быть есть какие-то для этого средства, отработанные механизмы. Я уже на Trace.Assert смотрел, но это все не то ...

Если возникает вопрос, зачем это надо, ну например, если приложение не может найти файл конфигурации, или там не хватило прав на чтение/запись и подобные штуки

Спасибо
Re: Как сообщить пользователю, что приложение сбоит
От: digital kaos Россия  
Дата: 17.08.08 19:51
Оценка:
1) Обрабатываем exception.
2) Выкидываем MessageBox с оповещением/ошибкой/указаниям к действию.
3) Корректно обходим сложившуюся ситуацию/закрываем приложение.
Re: Как сообщить пользователю, что приложение сбоит
От: dorofeevilya Россия  
Дата: 18.08.08 04:41
Оценка: +3
Здравствуйте, Аноним, Вы писали:

А>Когда приложение не может работать дальше, когда произошла какая-то критическая внутренняя ошибка,

А>как вы доносите до пользователя просьбы, что не плохо было бы сообщить разработчику об этой ошибке, перезапустить программу и может быть переустановить ее.

А>Подобные сообщения можно выдавать использую например WinForms, но не хочется ими пользоваться в библиотеках классов. Может быть есть какие-то для этого средства, отработанные механизмы. Я уже на Trace.Assert смотрел, но это все не то ...

А в библиотеках классов никаких WinForms и не должно быть. Методы классов должны уметь кидать грамотные эксепшены в исключительных ситуациях. А обрабатывать эти эксепшены — задача вашего основного приложения, использующего эти библиотеки. В случае WinForms Application — MessageBox, консольное — System.Console. Генерация исключения (ошибки) не должна быть связана с оповещением пользователя.

А>Если возникает вопрос, зачем это надо, ну например, если приложение не может найти файл конфигурации, или там не хватило прав на чтение/запись и подобные штуки


А>Спасибо
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.