WinCE: Есть ли способ узнать, какое исключение было сгенерировано без установленного system.sr.dll? - PullRequest
1 голос
/ 14 марта 2012

У меня есть приложение wince, и иногда я получаю следующее сообщение об ошибке:

Невозможно отобразить сообщение об ошибке, поскольку не удается найти дополнительную сборку ресурса, содержащую его

Это потому, что у меня не установлены dll сообщений об исключениях (system.sr.dll). Проблема в том, что я хотел бы сделать многоязычное изображение, содержащее сообщения об ошибках для всех языков, но system.sr.dll только на одном языке.

Есть ли способ узнать, какое исключение было сгенерировано, не установив system.sr.dll, а затем найти сообщение об ошибке в многоязычном словаре исключений, который я создал? Я не очень знаком с отладкой устройства, поэтому я не уверен, с чем мне нужно работать (если вообще что-нибудь).

Спасибо, Mark

1 Ответ

1 голос
/ 15 марта 2012

Syste.SR.dll содержит только локализованные тексты исключений, и я бы сказал, что вам все равно не следует показывать это пользователю. Пользователи не понимают малоизвестных сообщений, ориентированных на разработку.

Сами по себе исключения по-прежнему набираются, поэтому вы все равно можете перехватить их на основе информации о типе и показать пользователю значимое сообщение. Значение исключения зависит от контекста, в зависимости от того, что пользователь или ваше приложение пытались сделать в момент исключения.

Нечто подобное, как правило, бесполезно и недружелюбно для пользователя:

NullRefrenceException occurred at foo.bar.baz

Вы должны отловить его с помощью try / catch, а затем «преобразовать» его в нечто специфичное для вашего приложения, например:

A valid customer name must be provided

...