2009-11-06 163 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