作爲我的代碼的一部分@Transactional
帶註釋的方法。在某些情況下,該方法拋出一個自定義異常並執行回滾。只要發生這種情況,方法調用將導致TransactionSystemException
,並且無法獲取原始自定義異常(它不是執行的根本原因)。Spring隱藏了@Transactional方法拋出的RuntimeException
我能以某種方式訪問我的方法拋出的原始異常嗎? 我可以阻止Spring拋出TransactionSystemException,但仍然回滾?
@Transactional
public Association create(Long accountId) {
// if association already exists, throw exception
throw new ErrorInfoException(ErrorInfo.duplicateAssociation(accountId).info("This Association already exists").build());
}
你可以添加事務性方法,你拋出那些自定義異常? –
@MaciejKowalski我編輯了其中一種方法。他們都非常簡單 – Laures
你如何嘗試從TransactionSystemException檢索根/原始異常? –