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里还抛在后台里?
...全文
171 12 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
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

67,549

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧