我需要爲DataAccessException的處理創建JUnit測試,如何創建org.springframework.dao.DataAccessException的實例?
但是當我嘗試:
throw new DataAccessException();
接收:
Cannot instantiate the type DataAccessException
爲什麼?我能做什麼? 謝謝。
我需要爲DataAccessException的處理創建JUnit測試,如何創建org.springframework.dao.DataAccessException的實例?
但是當我嘗試:
throw new DataAccessException();
接收:
Cannot instantiate the type DataAccessException
爲什麼?我能做什麼? 謝謝。
爲什麼?
只是因爲DataAccessException
是abstract class。你不能實例化一個抽象類。
我能做些什麼?
如果您檢查層次:
extended by java.lang.RuntimeException
extended by org.springframework.core.NestedRuntimeException
extended by org.springframework.dao.DataAccessException
由於NestedRuntimeException
也是抽象的,你可以拋出一個new RuntimeException(msg);
(不推薦)。你可以選擇其他答案的建議 - 使用其中一個具體的類。
DataAccessException是一個抽象類,不能實例化。改用混凝土類之一,如新DataRetreivalFailureException(「這是原因」)或創建自己:
throw new DataAccessException("this was the reason") {};
而且你從DataAccessException的派生的匿名類。
+1實際的解決方案。 –
我試圖拋出'NonTransientDataAccessException',它擴展了'DataAccessException',但也是** abstract **。我現在可以拋出'DataRetrievalFailureException',它擴展了'NonTransientDataAccessException'而不是** abstract **。謝謝,你的回答真的幫了我。 – Doug