2009-09-22 70 views
2

在我已經習慣的存儲過程中;通過JDBC自定義oracle例外

raise_application_error (-20010, 'My Message'); 

在某種情況下引發自定義錯誤。我想要做的是當我從java中進行JDBC調用時,能夠將此錯誤標識爲不僅僅是一個SQLException,以便我可以以不同的方式處理它。我雖然可以通過errorCode識別它,但似乎總是17062而不是-20010。

是否有另一種方法來做到這一點,或者我錯過了什麼?

回答

2

你應該得到20010作爲你的errorCodeORA-17062是無效的ref遊標的錯誤。你確定你正在調用的過程拋出自定義錯誤嗎?

+0

哇,我覺得愚蠢。這是拋出錯誤,但我也捕獲包中的異常,記錄它,然後返回null,導致ORA-17062。在我閱讀你的文章之前沒有想過它。謝謝您的幫助。 – 2009-09-22 14:23:40

+0

很高興幫助=) – 2009-09-22 14:30:25