bonjour,
voici mon code:
ma fonction "service.add(element)" lance des exceptions personnalisées (DAOException).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14 private void onAdd(T element) { tryAndRefresh(() -> { service.add(element); }); } private void tryAndRefresh(DoIt doIt) { JFrame jf = (JFrame) SwingUtilities.getWindowAncestor(this.borderLayoutPanel.getLayout()); try { doIt.justDoIt(); refresh(); } catch (DAOException e) { JOptionPane.showMessageDialog(jf, e.getMessage(), "Une erreur s'est produite ...", JOptionPane.ERROR_MESSAGE); } }
"DoIt" est une interface fonctionnelle de mon cru ^^, elle contient uniquement la methode justDoIt qui ne prend pas d argument et ne renvoie rien (JAVA ne propose pas ce cas, ou alors merci de me dire ou).
dans ce bout de code, je ne peux pas compiler pare ce que dans la méthode onAdd, Eclipse me demande d'entourer "service.add(...)" d un try/catch, alors que c est justement ce que je veux eviter de faire ...
je veux factoriser le bloc try/catch et le traitement dans le try, pour pouvoir appeler tryAndRefresh(...) a pleins d'endroits, avec different "DoIt".
comment faire pour que ca marche ? ^^
Partager