Je développe une application multilingue dans lequel je dois considérer différentes erreurs ..meilleures pratiques pour gérer l'erreur dans l'application multilingue
me suggérer si j'utilise le code d'erreur ou exceptions ...
Je développe une application multilingue dans lequel je dois considérer différentes erreurs ..meilleures pratiques pour gérer l'erreur dans l'application multilingue
me suggérer si j'utilise le code d'erreur ou exceptions ...
MS SharePoint lance des exceptions comme ceci:
....
Throw New SPException(SPResource.GetString("CannotChangeRootwebPerm", New Object() { Me.Url }))
....
qui semble raisonnable. - vous avez une fonction d'utilité qui sait comment trouver le message requis pour les paramètres régionaux actuels; vous attribuez à chaque chaîne d'exception un nom logique & lisible.
+1 pour plus de simplicité. Simple est bon. – Walter
I'D préfèrent toujours les exceptions au lieu de valeurs de retour arbitraires. Une façon de créer des exceptions multilinguar est de créer une classe de base qui se charge de la traduction, i.e. .:
class TranslatedException : Exception {
private string translationKey = "base_exception";
public string ToString() {
return YourTranslationClass.GetTranslation(this.translationKey);
}
}
D'autres exceptions ont juste besoin d'hériter de cette classe et changer le translationKey en conséquence.
Ne serait pas mieux si d'autres exceptions héritent encore de la classe System.Exception? –
Si TranslatedException hérite de l'exception de base (dépend du langage de programmation non spécifié par l'OP), les autres exceptions peuvent hériter de TranslatedException sans casser le code catch (Exception ex). – dbemerlin
Je peux obtenir la traduction respective du fichier de ressources. mais je veux juste savoir si j'utilise des exceptions d'utilisation des codes d'erreur. – Mohsan
Utilisez des exceptions. Obtenez des messages d'erreur localisés à partir d'un fichier de ressources ou similaire. Lisez ceci:
Quelle plate-forme? Que voulez-vous dire par "gérer"? –
en langage C#. – Mohsan