私は自分たちが作成したAPIのデモコードを書いていますが、同じ問題が何度も何度も繰り返されています。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;
}
}
これを回避するために私が考えた唯一の方法はMethod
、try-catchロジックを実行する関数にを渡し、次のような別の関数にすべてをラップすることです。
public BarObj MyFunc(Double..._input){
return compose("MyLogic",_input);
}
private BarObj MyLogic(Double..._input)
throws Exception{
//stuff
}
しかし、それは醜く見え、多くの定型文を持っています。Javaで関数を作成する簡単な方法はありますか?