是否可以捕获 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
,一切正常。这个问题有更优雅的解决方案吗?
谢谢