私は 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 のすべてのことは私を混乱させます。どちらがより良い方法ですか?