我正在研究 EJB 客户端 + 服务器,我想知道如何处理客户端上的服务器数据错误。我应该检查客户端的返回值还是捕获异常?使用返回值逻辑的示例:
//server bean method
public int create(MyObj obj) {
int PKID = someDataService.create(obj);
return PKID;
}
//client
if(!(MyBean.create(obj) > 0)) {
showMessage("Can't create MyObj");
}
有例外的例子:
//server bean method
public void create(MyObj obj) {
int PKID = someDataService.create(obj);
if(!(id > 0)) {
//only EJBExceptions will be delivered to client
throw new EJBException(new MyDataException());
}
}
//client
try {
MyBean.create(obj);
}
catch(EJBException e) {
if(e.getCause().getClass.equals(MyDataException.class)) {
showMessage("Can't create MyObj");
}
else {
showMessage("Some boring error occurred");
}
}
我知道,返回值检查而不是异常看起来像用 C 编码,但是所有这些 EJB 事情让我感到困惑。哪个是更好的方法?