Package org.iplass.mtp.command
Interface 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";
}
}
-
Method Summary
Modifier and TypeMethodDescriptionhandleException(RuntimeException exception, RequestContext request) Command.execute(RequestContext)内、もしくはCommandInterceptor内で例外が発生した場合、 当メソッドが呼び出される。 返り値として、Commandのステータスを返却するか、例外を再スローするようにする。
-
Method Details
-
handleException
Command.execute(RequestContext)内、もしくはCommandInterceptor内で例外が発生した場合、 当メソッドが呼び出される。 返り値として、Commandのステータスを返却するか、例外を再スローするようにする。- Parameters:
exception- 発生した例外request- RequestContextのインスタンス- Returns:
- Commandステータス。例外処理後、正常の結果を返したい場合に返却する
- Throws:
RuntimeException- 例外処理後、framework側に例外を通知したい場合はスローする
-