0
method(){
try{
some code..
}
catch(Exception e)
{
throw new userDefineException();
}
}

// 从 java 客户端调用上述方法时,我得到了远程异常,但我期望得到 UserdefineException。

4

1 回答 1

2

EJB 容器将在 RemoteException(或本地视图的 EJBException)中包装未声明的(系统)异常。为避免这种情况,您应该:

  1. 将 UserDefineException 改为扩展 Exception 而不是 RuntimeException,并将 UserDefineException 添加到远程接口的 throws 子句中。

  2. 使用 注释 UserDefineException ,或在 ejb-jar.xml 中@ApplicationException指定它。<application-exception>com.example.UserDefineException</application-exception>

于 2013-05-22T15:50:02.027 回答