Bonjour,
je continue le tour des sujets qui me posent problème, et pour lesquels je n'ai pas forcément bien compris les bonnes pratiques.
Aujourd'hui, j'ai un problème avec les exceptions couplées à un logger.
J'ai lu cet article fort intéressant, mais cela ne répond pas forcément à mes interrogations :
http://anisfrikha.developpez.com/tut...xceptions/#LVI
Imaginons une classe, dans laquelle une méthode en appelle une autre d'une autre class, elle même appelant une 3ème méthode d'une 3ème class.
En gros F1->F2->F3.
Quelle est la bonne manière d'opérer pour logger ce qu'il faut, et bien remonter les exceptions ?
Je m'explique, actuellement je vois ce genre de pratique dans le projet :
Est ce normal finalement pour une exception générée dans F3 d'avoir finalement 3 écritures dans le log ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 public void F1(); { try { F2(); ..... } catch (Exception ex) { Log.error("message 1", ex); } } public void F2(); { try { F3(); ..... } catch (Exception ex) { Log.error("message 2", ex); Throw ex; } } public void F3(); { try { ..... } catch (Exception ex) { Log.error("message 3", ex); Throw ex; } }
Serait il plus judicieux de virer les appels aux Log dans F2 et F3 ? je présume que non car F2 peut parfaitement planter pour du code autre que l'appel à F3...
Devrait on remplacer les bloc try...catch par un throws global sur la méthode pour F2 et F3 ?
Bref me conseillez vous ?
Par avance merci.
Partager