C'est un cas-par-cas théorique de la question, la réponse sera tout aussi théorique. La meilleure réponse que j'ai jamais entendu est, "Ne pas traiter une exception si vous ne savez pas comment le gérer." L'enregistrement d'un message et en jetant l'exception de la pile est bien parce que vous avez réellement fait quelque chose (même si c'est juste indiquant qu'une erreur s'est produite). Mais, de l'interception d'une erreur et de ne pas jeter la pile peut entraîner caché bugs et difficile sessions de débogage.
Ce que nous avons toujours fait est de mettre en œuvre une erreur de niveau supérieur gestionnaire effectuer générique de gestion des erreurs (comme l'enregistrement d'un message, d'alerter les développeurs, etc.). Toutes les exceptions non gérées plus loin dans le code sont au moins traitées par le haut-gestionnaire de niveau. Les exceptions qui peuvent être traitées plus bas dans le code sont certainement manipulés où ils se produisent.
Considérons le cas d'une boucle sur une liste d'adresses e-mail pour envoyer un message à une liste de diffusion. Une exception peut se produire si l'une des adresses e-mail n'est pas correctement formaté, mais nous ne voulons pas d'une seule adresse de courriel pour entraîner le reste du traitement à l'échec. Par la manipulation de l'exception spécifique type qui se produit, nous pouvons nous connecter (ou même la marque de l'adresse e-mail invalide) et poursuivre le traitement du reste de la liste.
Bottom Line: Si vous avez ou non traiter une exception de type dépend vraiment de si oui ou non votre code ne sait plus quoi faire pour récupérer le type d'exception se produit.