Bonsoir,
je suis plutôt débutant, et j'ai des difficultés à bien comprendre comment fonctionnent les exceptions mais surtout comment et quand elles remontent au niveau au dessus.
Exemple : imaginons une méthode static d'une classe de la DAO
j'aimerai savoir si ce genre de code est "propre", et comment cela se passe d'un point de vue exception / au bloc try...finally.
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 public static MyObject getMyObjbyID(....) throws IOException, ClassNotFoundException, SQLException { Connection con = null; Statement stmt = null; ResultSet result = null; MyObject curObj = null; try { con = ..... (ouverture de la connexion) stmt = con.createStatement(); req = "SELECT......."; log.error(...); result = stmt.executeQuery(req); if (result.next()){ String titre = result.getString("TITRE"); .... curObj = new MyObject(...); return curObj; } } finally { ... (fermeture de la connexion) } return null; }
Est ce qu'à la moindre exception, le bloc finally est executée et l'exception renvoyée par la méthode à l'étage au dessus ?
Ou doit rajouter un bloc catch qui fera un "throw new Exception(...)" ?
Bref quelques explications sont de rigueur
Merci
Partager