RestTemplateのHttpServerErrorExceptionやHttpClientErrorExceptionをthrowする
RestTemplateのHttpServerErrorExceptionやHttpClientErrorExceptionをthrowする方法を備忘も兼ねて書きます。
発端としては、JUnitにて、ExceptionHandlerで上記が発生したときのテストコードを書こうとしたときに、newしてthrowしてもハンドリング処理が動かなかったためです。
対応策
HttpServerErrorExceptionクラスを眺めていたのですが、ネストされたクラスとして、HttpServerErrorException.InternalServerError などがあるようでした。
これらのネストされたクラスの例外を作成して、throwすることで無事ハンドリング処理が動きました。
作成方法ですが、以下のcreateメソッドをコールして作成します。
HttpServerErrorException.create(...)
とりあえずのJUnitなので引数の値は適当な値を入れましたが、無事期待通りにthrowできました。HttpClientErrorExceptionも同様にcreateメソッドがあるのでそちらで作成できました。
以上