IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Java Discussion :

exception dans une interface fonctionnelle/lambda


Sujet :

Langage Java

  1. #1
    Membre à l'essai Avatar de natalia.f
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2018
    Messages : 14
    Points : 23
    Points
    23
    Par défaut exception dans une interface fonctionnelle/lambda
    bonjour,

    voici mon code:
    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);
    	}
    }
    ma fonction "service.add(element)" lance des exceptions personnalisées (DAOException).
    "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 ? ^^

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 551
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 551
    Points : 21 607
    Points
    21 607
    Par défaut
    Citation Envoyé par natalia.f Voir le 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).
    Runnable, avec sa méthode, run(). Mais c'est vrai que c'est pas génial comme nom.


    Citation Envoyé par natalia.f Voir le message
    comment faire pour que ca marche ? ^^
    Soit tu ajoutes à ta méthode justDoIt() le droit throws DAOException, soit tu décides que les checked exceptions c'est décidément pas un truc utile du langage, et tu modifies DAOException pour qu'elle soit descendante de RuntimeException.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Membre à l'essai Avatar de natalia.f
    Femme Profil pro
    Développeur Web
    Inscrit en
    Novembre 2018
    Messages
    14
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 31
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Novembre 2018
    Messages : 14
    Points : 23
    Points
    23
    Par défaut
    oui Runnable j ai deja vu cette proposition mais ca fait un peu bricolage et j ai prefere faire la mienne.
    donc j ai cree une nouvelle interface fonctionnelle, "TryI"t qui lance des exceptions comme tu as dit, c est un peu lourd mais bon je vois pas d autre solution pour l instant ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Inclure une fenetre OGL dans une interface java
    Par Bart_lx dans le forum OpenGL
    Réponses: 2
    Dernier message: 06/02/2006, 18h14
  2. Changement de nom dans une interface
    Par memed dans le forum Oracle
    Réponses: 6
    Dernier message: 27/10/2005, 18h20
  3. [vb.net][html] afficher une page html dans une interface vb?
    Par graphicsxp dans le forum Windows Forms
    Réponses: 1
    Dernier message: 29/09/2005, 17h31
  4. Tableau dans une interface idl
    Par Polochon2001 dans le forum CORBA
    Réponses: 2
    Dernier message: 14/05/2004, 09h44
  5. Réponses: 2
    Dernier message: 28/08/2003, 00h00

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo