在我的项目中,我正在使用下面给出的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()
方法之外。但是有什么办法吗?如果有人经历过,那么可以共享信息就好了。
最佳答案
这不是异常处理的工作方式。您需要在LDM内部进行异常处理。在try-catch语句中包装一些数据库操作。
关于java - Wicket LoadableDetachableModel异常处理问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14940164/