Grimacer:Existe-t-il un moyen de savoir quelle exception a été levée sans que system.sr.dll soit installé ?
-
14-12-2019 - |
Question
J'ai une application Wince et je reçois parfois le message d'erreur suivant :
Un message d'erreur ne peut pas être affiché car un assembly de ressources facultatif le contenant est introuvable
C'est parce que je n'ai pas installé la DLL des messages d'exception (system.sr.dll).Le problème est que je voudrais créer une image multilingue contenant les messages d'erreur pour toutes les langues, mais system.sr.dll n'est que dans une seule langue.
Existe-t-il un moyen de savoir quelle exception a été levée sans avoir installé system.sr.dll, puis de rechercher le message d'erreur dans un dictionnaire de messages d'exception multilingue que j'ai créé ?Je ne suis pas très familier avec le débogage de l'appareil, donc je ne suis pas sûr de ce avec quoi je dois travailler (le cas échéant).
Merci, Mark
La solution
Syste.SR.dll ne contient que les textes d'exception localisés et je dirais que vous ne devriez de toute façon pas les montrer à un utilisateur.Les utilisateurs ne comprennent pas les messages obscurs axés sur le développement.
Les exceptions elles-mêmes sont toujours saisies, vous pouvez donc toujours les intercepter en fonction des informations de type et afficher un significatif message à l'utilisateur.La signification d'une exception dépend beaucoup du contexte et de ce que l'utilisateur, ou votre application, essayait de faire au moment de l'exception.
Quelque chose comme ceci est généralement inutile et peu convivial pour un utilisateur :
NullRefrenceException occurred at foo.bar.baz
Vous devriez le piéger avec un try/catch, puis le "convertir" en quelque chose de spécifique à votre application, comme :
A valid customer name must be provided