J'écris du code démo pour une API que nous avons créée et je continue à courir dans le même problème où je me répète, encore et encore ad nauseum. Je suis douloureusement conscient que Java est prévu pour avoir des fermetures ajoutées, mais je n'ai pas accès à eux maintenant. Voici ce qui se répète partout que je voudrais boîte juste dans son propre petit coin:Composer des fonctions en Java?
public BarObj Foo(Double..._input){
try{
//things that vary per function
//but everything else...
} catch(NullException _null){
m_Logger.error("Null error exception caught in Blah::Foo");
return null;
} catch(Exception ex){
m_Logger.error(ex.getMessage());
return null;
}
}
A propos de la seule façon que je l'ai pensé pour aller contourner ce problème est en passant un Method
en fonction qui porte avec elle la logique try-catch et enveloppant le tout dans une autre fonction comme ceci:
public BarObj MyFunc(Double..._input){
return compose("MyLogic",_input);
}
private BarObj MyLogic(Double..._input)
throws Exception{
//stuff
}
mais il semble laid et comporte beaucoup de passe-partout. Existe-t-il un moyen plus simple de composer des fonctions en Java?
Je pense que certains le projet extensions pour les fermetures en Java semblent encore plus laids. – DerMike