2009-11-06 108 views
0

我这里有Java异常层次结构问题

一个奇怪的问题,在我的ejbCreate()方法从那里我插入前端填充的字段VALES到数据库中,有空检查完成,因此可空字段转换到“”(空格)字段并将该行正确插入到数据库中。

可是没有相同的空值检查,因此始终用来抛出一个“java.sql.SQLException中”,但下面 赶上(java.sql.SQLException中的E)用来捕捉它,并应用

现在我的ejbStore()方法运行良好。

现在有一个新的补丁添加到Unix中(我的操作系统),现在相同的异常没有被捕获到“catch(java.sql.SQLException e)块”,而是被归类为“异常块“,所以我的代码抛出了”CORBA相关的NullPointerexception“,并且应用程序崩溃。

任何人都可以让知道操作系统修补程序如何更改Java异常类型层次结构。

+0

什么是*您的操作系统补丁 – 2009-11-06 12:06:41

+0

应用程序服务器是Websphere WAS相关补丁的名称是6.0.2.35早些时候它是6.0.2.17 – Gourav 2009-11-06 13:10:06

+0

对不起,它不是一个操作系统相关的补丁,正如我前面说的。 – Gourav 2009-11-06 13:17:16

回答

4

我想知道是否有一些奇怪的类加载器问题正在进行。

请记住,如果两个类是相同的类由相同的类加载器加载,那么它们只有“相同”。

如果组件抛出SQLExcpetion从一个类加载器加载它,并且你的组件从其他地方加载它,那么我怀疑你可能会得到这种效果。

因此,操作系统补丁能否影响JDBC驱动程序或从中加载它们的类路径?或者操作系统补丁可以将SQLException的副本放在新的位置。或者OS修补程序是否可以设置影响某些组件的Classpath的环境变量?

+0

应用服务器是Websphere WAS相关补丁的名称是6.0.2.35 早些时候它是6.0.2.17 – Gourav 2009-11-06 13:09:23

+0

对不起,它不是一个操作系统相关的补丁,正如我前面所说。 – Gourav 2009-11-06 13:18:01

+0

然后我的类加载器的想法很可能是正确的。 WAS确实有一些强大的功能,灵活的类加载器功能,并且具有强大的功能非常强大。您应该向IBM提出PMR。您也可以通过管理控制台和详细跟踪来调查类加载器。 – djna 2009-11-06 14:10:51