2015-12-03 52 views
-1

我有一個函數的異常處理和回滾機制已完成如下所示。明確地拋出一個異常,以Spring @Transactional

當某些條件滿足時,該函數是否可以顯式拋出異常(類似throw的情況)。

@Transactional(rollbackFor={Exception.class}) 
public String addProfileInfo(some args){ 
    if(some condition){ 
     //throw error ??? 
    } 
} 
+0

你爲什麼認爲它不能? –

+0

你試過了嗎?確實給了你一個錯誤? – reos

+0

我已經嘗試過拋出新的異常(「沒有公共組」);'。這給編譯時異常_Unhandled異常類型Exception_。但是,如果我把添加拋出函數的錯誤。如果函數中發生異常,我必須回滾事務。所以我需要'@Transactional(rollbackFor = {Exception.class})'來捕捉異常。 –

回答

0

首先創建一些自定義異常類:

public class SomeRandomException extends Exception { 

    public SomeRandomException(String message){ 
    super(message); 
    } 

} 

然後:

if(some condition){ 
    throw new SomeRandomException("This is exception message"); 
} 

Ofcourse,更換SomeRandomException不管你喜歡.....

例子:

public class someClass{ 

    public static void main(String[] args) throws HueHueException{ 
     if(someCondition) 
      throw new HueHueException("HuiHuiExceptionOccured"); 
    } 

} 

class HueHueException extends Exception { 

     public SomeRandomException(String message){ 
     super(message); 
     } 

} 
相關問題