Bonjour,
je souhaiterai quelques éclaircissement sur la gestion des exceptions en Java. J'ai lu pas mal de tutoriel sur le sujet mais cela ne répond pas bien à mes questions de développement.
Pour vous expliquer le problème, prenons un exemple :
En fait je ne sais ce que je dois faire dans le cas de méthode chainée. Dans mon exemple, si l'on arrive pas à récupérer la session (session est null), toutes les méthodes qui font un accès en BD (comme la méthode delete) ne peuvent pas faire leur boulot.
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
32 protected Session getSession() { Session ret = null; if (this.sessionFactory!=null) { ret = this.sessionFactory.getCurrentSession(); } return ret; } public boolean delete(Object o) { boolean ret = false; if (o==null) { ret = true; } else { Session s = getSession(); if (s!=null) { try { s.beginTransaction(); s.delete(o); s.getTransaction().commit(); logDebug("Successful delete."); ret = true; } catch (RuntimeException re) { logError("Error during deleting."); throw re; } } } return ret; }
Que dois-je faire ? Lever une exception dans la méthode getSession ? Lever une exception dans la méthode delete (et potentiellement dans les autres qui utilisent getSession) ?
Faire propager l'exception en utilisant new Exception ("message", exception_precedente) ? Ne rien faire ? Au final je veux qu'à la fin je puisse afficher une page d'erreur correcte à l'utilisateur.
Merci d'avance
Partager