2016-09-29 83 views
0

我有一個帶有try-catch語句的groovy腳本。現在我想重新提出異常,以便調用者也可以對該異常做出反應。有沒有規範的方法來做到這一點?在Groovy中重新引發異常

+0

的你有什麼任何示例代碼? –

回答

1

你有什麼將是很好的例子......

但你的意思是這樣的:

Transaction tx = startTransaction() 
try { 
    tx.doSomething() 
    tx.commit() 
} 
catch(ex) { 
    tx.rollback() 
    throw new MyTransactionFailedException("rolling back", ex) 
} 
+0

我不喜歡在這個特定情況下重新拋出相同的捕獲異常(我知道這是*你的情況,而不是OP的)。如果你捕捉了一堆不同的異常類型並立即重新拋出其中的一些,那看起來合法。但是,如果你在catch塊內進行一些處理(就像在這種情況下那樣),我認爲它提高了代碼的可調試性,以將異常包裝在一個新的異常中,然後拋出異常。否則,堆棧解除期間發生回滾的事實可能會在堆棧跟蹤中丟失。 – BalRog

+0

是的,我同意你的意見。答案已更新 –