DataAccessException を処理するための JUnit テストを作成する必要があります。
しかし、私がしようとすると:
throw new DataAccessException();
受け取る:
Cannot instantiate the type DataAccessException
なんで?私に何ができる?ありがとう。
DataAccessExceptionは抽象クラスであり、インスタンス化できません。代わりに、new DataRetreivalFailureException("これが理由でした")などの具象クラスの 1 つを使用するか、独自のクラスを作成します。
throw new DataAccessException("this was the reason") {};
そして、DataAccessException から派生した匿名クラスを取得します。
なんで?
単に抽象クラスDataAccessException
だからです。抽象クラスをインスタンス化することはできません。
私に何ができる?
階層を確認すると、次のようになります。
extended by java.lang.RuntimeException
extended by org.springframework.core.NestedRuntimeException
extended by org.springframework.dao.DataAccessException
NestedRuntimeException
も抽象的であるため、 a をスローできます(new RuntimeException(msg);
これはお勧めしません)。他の答えが示唆するものに行くことができます-具体的なクラスの1つを使用してください。