Вы делаете это точно так же, как в любой другой GUI Framework:
Никогда не представляйте пользователю исключения
Короче, обрабатывайте исключения внутри приложения, если возможно.Исключение не является оболочкой для пользовательских сообщений.Это внутренний сигнал приложения, что что-то пошло не так, и приложение не может продолжить работу как обычно.Сообщение и трассировка стека должны помочь разработчикам или администраторам найти и устранить проблему.
Если что-то есть, бедному пользователю необходимо знать (потому что он может что-то изменить, например, проверить сетевое соединение), создать сообщение, котороепонятен пользователю (исключение не не соответствует) и отображает это в окне сообщения.
Оставьте исключения для файлов журнала и людей, которые знают, как их читать.
Из другого комментария я прочел ваше намерение: показать больше подробностей на этапе разработки.Таким образом, вам нужно другое поведение для разработки и производства кода.Вы хотите добавить некоторый код debug , который отображает более подробную информацию в случае ошибок.
Рассмотрите возможность внедрения службы, охватывающей все приложения, которая принимает сообщения и представляет их пользователю.Реализация для производственного кода будет только представлять «дружественное» (локализованное?) Сообщение, в то время как реализация для целей разработки также отображает отладочную информацию (полные сообщения об ошибках).Вы можете определить пользовательскую точку расширения и добавить «отладочные расширения» к вашей службе сообщений пользователя в отдельном комплекте.Поэтому, если вы не установите этот пакет, пользователь не получит расширенные сообщения.