Java CDI のプロデューサー メソッドによってスローされる例外をキャッチすることは可能ですか? 次のプロデューサーメソッドがあります
@Produces
public User getLoggedInUser() throws UserNotLoggedInException {
if(...){
throw new UserNotLoggedInException();
}
User user = ...
...
return user;
}
どこかにユーザーオブジェクトを挿入したい。次のようにメソッドを書くことはできません:
private void doSomethingWithUser(){
try {
User loggedInUser = user.get(); // throws exception
} catch (UserNotLoggedInException e){ // Compiler compains
...
}
}
コンパイラが言うように、UserNotLoggedInException
はどのメソッドでもスローされません。ジェネリックをキャッチするException
と、すべて正常に動作します。この問題に対するよりエレガントな解決策はありますか?
ありがとう