2010-03-16 6 views
4

Devrais-je créer private static final String = "Un message d'exception" ou le laisser dans le code? Y a-t-il des problèmes de performance? J'ai beaucoup de cas d'exception. Les textes sont principalement différents dans un cas particulier. Méfiez-vous des problèmes de performance et de mémoire. L'internationalisation est tout à fait possible dans les recs futurs.Devrais-je créer private static final String = "Un message d'exception" ou le laisser dans le code?

+1

Le contexte s'il vous plaît. La réponse dépend du contexte. Dans les questions que vous avez postées aujourd'hui, le contexte est totalement absent. Aussi, ne dupliquez pas la même question dans le titre et le message. Élaborer un peu plus sur la question dans le message. Quel est le fond? Quelle est la motion pour cette question? Quelles sont vos pensées? Attentes? Des imprécisions? Etc..etc .. Essayez de poser des questions à la manière intelligente. – BalusC

Répondre

2

Une exception aux réponses de Bozho et Thilo, IMO, est lorsque vous utilisez un message d'exception à plus d'un endroit. Si vous souhaitez déplacer un message vers une chaîne finale statique, faites-le pour toutes les exceptions dans ce fichier à des fins de cohérence. Si l'on trouve un message d'exception en haut d'un fichier, la logique suggèrera que tous peuvent être trouvés là.

6

Aucune différence du point de vue de la performance. Par conséquent, par souci de lisibilité, et dans le cas où vous n'utilisez pas la même chaîne ailleurs - laissez-le dans le code.

En ce qui concerne l'internationalisation - je suis opposé à l'idée d'exceptions i18n, mais si vous le faites:

  • construire l'exception avec une clé de message (d'une classe avec static final clés de message).
  • résoudre le message correspondant uniquement lorsque l'exception doit être affichée.
2

Si vous ne l'utilisez pas au même endroit et que vous prévoyez de ne pas l'internationaliser, laissez-le en ligne.

Si vous l'utilisez à plusieurs endroits, en particulier si le message devient partie intégrante de votre interface (pour pouvoir vérifier le message lorsque vous rencontrez l'exception, vous devez utiliser un ou plusieurs sous-types d'erreur cela), en faire une constante (une publique si nécessaire).

Si vous devez localiser le message, externalisez-le dans un fichier de ressources de message.

Questions connexes