2012-07-27 106 views
0

我試圖從Sybase的存儲過程中使用RAISERROR捕獲我的Java代碼中的錯誤消息,但是沒有任何內容被捕獲,即使我直接調用proc時,我可以看到錯誤被拋出。如何在Mybatis-Spring中捕獲Sybase RAISERROR?

我的理解是MyBatis的彈簧

轉換MyBatis的異常到Spring的DataAccessException的

所以我已經編寫我的映射類正是如此:

void insertData(Data toInsert) throws Exception, DataAccessException; 

我試圖趕上這兩個例外,但都沒有被捕獲。

有沒有人有任何想法?

感謝, 斯蒂芬

回答

0

我發現瞭如何做到這一點:

try { 
    myMapper.insertData(data); 
} 
catch (org.springframework.jdbc.UncategorizedSQLException e) { 
    Throwable ee = use.getCause(); 
    // getMessage on chained exception gets message from RAISERROR 
    log.error(ee.getMessage(), e); 
} 

乾杯, 斯蒂芬