NullPointerException 为什么会在服务器上出来?

qtalqtal 2005-03-08 09:22:50
Weblogic + ORCAL9

在BEAN中有一个方法用来检索数据,

protected Data search(String gempno, Connection conn) throws CMBusinessException ,SQLException{
.....
try{
YJC2GempBData gempBData = YJC2GempInfoComn.search(conn, gempno, null);
if ( gempBData == null ){
throw new NullPointerException();
}

} catch ( NullPointerException e ) {
throw new NullPointerException();
}catch ( Exception e ) {
throw new CMBusinessException( "" ,e );
}
}
public Data search(String gempno)throws CMBusinessException {
....
try{
if (conn_frens == null){
conn_frens = connectItfrensDB();
}
Data data = null;
data = search(gempno ,conn_frens);
} catch(SQLException e){
throw new CMBusinessException( null, e );
} catch(NamingException e){
throw new CMBusinessException( null, e );
}
}
然后在UI中来调用这个方法.
代码如下:

...........

try {
data = remoteYJ01.search(moskmData.getGEMPNO());
} catch (Exception e) {
data = null;
}
这样的话画面显示正常.但是后台里却出NullPointerException
为什么这个NullPointerException在UI里捉到了,而在EJB里还抛在后台里?
...全文
118 点赞 收藏 12
写回复
12 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
wangw1319 2005-03-09
funcreal(new PLMM[Integer.MAX_VALUE])说的对...
回复
funcreal 2005-03-09
没什么可怀疑的,一定不是那一句抛出的。
再说了,你不会单步运行啊?如果在ejb中不好做到,你可以输出异常啊。
try {
data = remoteYJ01.search(moskmData.getGEMPNO());
} catch (Exception e) {
输出来看看不就知道了
}
回复
netramper 2005-03-09
这是因为你的代码有BUG,在捕获一个空指针异常,并没有处理完,又把它抛了出去.
在方法search(String gempno, Connection conn)中, 如果gempBData是null, 会抛出空指针异常;不过会被你的"catch ( NullPointerException e )"捕获,接着又被“throw new NullPointerException();”抛了出来。
回复
qtalqtal 2005-03-09
在我这里也不会出的,这是放到服务器上出的.

拿来让我调查,会不会是因为在BEAN里的一个方法里没有捉

他自己抛出的NullPointerException而出的呢?
回复
qtalqtal 2005-03-08
java.lang.NullPointerException
at ap.yj01.ejb.YJ01MainBean.search(YJ01MainBean.java:13171)
at ap.yj01.ejb.YJ01MainBean.search(YJ01MainBean.java:6471)
at ap.yj01.ui.YJ01MainBlock.execute(YJ01MainBlock.java:4123)
这是后台信息.
回复
qtalqtal 2005-03-08
不是不是,是服务器上,但是为什么会抛到后台呢?

try {
data = remoteYJ01.search(moskmData.getGEMPNO());
} catch (Exception e) {
data = null;
}
已经捉到了呀.
回复
mor 2005-03-08
JSP,也就是Servlet难道是在客户端运行的???
回复
qtalqtal 2005-03-08
JSP只用来显示.
回复
qtalqtal 2005-03-08
是的,UI是就处里业务逻辑的.
回复
mor 2005-03-08
什么意思?在UI里调用?难道不是JSP什么的么?
回复
qtalqtal 2005-03-08
没人看到吗?还是没说清楚呀?
回复
qtalqtal 2005-03-08
自己UP
回复
发帖
Java EE
创建于2007-09-28

6.6w+

社区成员

J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
申请成为版主
帖子事件
创建了帖子
2005-03-08 09:22
社区公告
暂无公告