パッケージ 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側に例外を通知したい場合はスローする
-