パッケージ org.iplass.mtp.command
インタフェース ExceptionAware
public interface ExceptionAware
Commandの処理で発生した例外をハンドリングするためのインタフェース。
Command.execute(RequestContext)内で例外処理することもできるが、
Intercepter内で発生した例外も含めて捕捉したい場合は、Commandの実装クラスにて、
当該interfaceも合わせて実装するようにする。
実装例
public class ExpHandleCmd implements Command, ExceptionAware {
//Commandの処理本体
public String execute(RequestContext request) {
:
:
throw new IllegalArgumentException("erorr");
}
//例外処理の実装メソッド
public String handleException(RuntimeException exception, RequestContext request) throws RuntimeException {
if (exception instanceof IllegalArgumentException) {
//例外処理を記述
:
:
}
//Commandの処理結果としてステータスコードを返す、もしくは例外を再スロー
return "ERROR";
}
}
-
メソッドの概要
修飾子とタイプメソッド説明handleException(RuntimeException exception, RequestContext request) Command.execute(RequestContext)内、もしくはCommandInterceptor内で例外が発生した場合、 当メソッドが呼び出される。
-
メソッドの詳細
-
handleException
Command.execute(RequestContext)内、もしくはCommandInterceptor内で例外が発生した場合、 当メソッドが呼び出される。 返り値として、Commandのステータスを返却するか、例外を再スローするようにする。- パラメータ:
exception- 発生した例外request- RequestContextのインスタンス- 戻り値:
- Commandステータス。例外処理後、正常の結果を返したい場合に返却する
- 例外:
RuntimeException- 例外処理後、framework側に例外を通知したい場合はスローする
-