在我的项目中,我使用如下所示的 LoadableDetachableModel。
public ReportPage(final Objectm, final PageReference pr) throws CustomException{
try{
final LoadableDetachableModel<List<MaintReport>> ldm =
new LoadableDetachableModel<List<MaintReport>>() {
@Override
protected List<MaintReport>load() {
**// Some Database operations //**
return x;
}
};
/*
Several LoadableDetachableModels, PageableListViews, Panels, Fragments etc.
*/
} catch ( Exception ex){
// create Custom Exception
} finally {
// Clean up of stuff
}
问题是覆盖函数load()
涉及一些数据库操作。如果从此方法抛出异常或从该方法引发异常,我可以在哪里捕获?. 看来我抓不住了。当我写一些日志消息时,我看到该load()
方法是在整个构造函数执行之后调用的。
我绝对可以将数据库操作移到load()
方法之外。但是有什么办法吗?
如果有人遇到过这种情况,如果您能分享这些信息,那就太好了。