Когда приложение не может работать дальше, когда произошла какая-то критическая внутренняя ошибка,
как вы доносите до пользователя просьбы, что не плохо было бы сообщить разработчику об этой ошибке, перезапустить программу и может быть переустановить ее.
Подобные сообщения можно выдавать использую например WinForms, но не хочется ими пользоваться в библиотеках классов. Может быть есть какие-то для этого средства, отработанные механизмы. Я уже на Trace.Assert смотрел, но это все не то ...
Если возникает вопрос, зачем это надо, ну например, если приложение не может найти файл конфигурации, или там не хватило прав на чтение/запись и подобные штуки
Спасибо
1) Обрабатываем exception.
2) Выкидываем MessageBox с оповещением/ошибкой/указаниям к действию.
3) Корректно обходим сложившуюся ситуацию/закрываем приложение.
Здравствуйте, Аноним, Вы писали:
А>Когда приложение не может работать дальше, когда произошла какая-то критическая внутренняя ошибка,
А>как вы доносите до пользователя просьбы, что не плохо было бы сообщить разработчику об этой ошибке, перезапустить программу и может быть переустановить ее.
А>Подобные сообщения можно выдавать использую например WinForms, но не хочется ими пользоваться в библиотеках классов. Может быть есть какие-то для этого средства, отработанные механизмы. Я уже на Trace.Assert смотрел, но это все не то ...
А в библиотеках классов никаких WinForms и не должно быть. Методы классов должны уметь кидать грамотные эксепшены в исключительных ситуациях. А обрабатывать эти эксепшены — задача вашего основного приложения, использующего эти библиотеки. В случае WinForms Application — MessageBox, консольное — System.Console. Генерация исключения (ошибки) не должна быть связана с оповещением пользователя.
А>Если возникает вопрос, зачем это надо, ну например, если приложение не может найти файл конфигурации, или там не хватило прав на чтение/запись и подобные штуки
А>Спасибо