method(){
try{
some code..
}
catch(Exception e)
{
throw new userDefineException();
}
}
//当从java客户端调用上述方法时,我得到了远程异常,但我期望得到UserdefineException。
EJB容器将在RemoteException(或本地视图的ejbeexception)中包装未声明的(系统)异常。为了避免这种情况,您应该:
-
将UserDefineException扩展为Exception而不是RuntimeException,并将UserDefineException添加到远程接口的抛出子句中
-
注释UserDefineException为
@ApplicationException
,或者在ejb-jar.xml中指定为<application-exception>com.example.UserDefineException</application-exception>
。