目次 > 第2章 Server(Web)版チュートリアル > 2.11 例外処理(業務例外) > 2.11.1 業務例外クラスの作成とビジネスロジッククラスの編集
2.11.1 業務例外クラスの作成とビジネスロジッククラスの編集
本項では、業務例外クラスの作成と、登録処理を行うビジネスロジックに例外をスローする処理を追加する。
手順
本項では以下の作業が必要になる。
(1) 業務例外クラスの作成
- “terasoluna-spring-thin-blank\sources”を右クリックする。
- 「新規」→「クラス」を選択する。
- 以下の通り入力し、「終了」ボタンを押下する。
- パッケージ:jp.terasoluna.thin.tutorial.web.usermanager.exception
- 名前:InsertException
- スーパークラス:java.lang.RuntimeException
- 生成されたInsertExceptionクラスを以下のように編集する。
package jp.terasoluna.thin.tutorial.web.usermanager.exception; /** * 業務例外クラス。 * */ public class InsertException extends RuntimeException { /** * シリアルバージョンID。 */ private static final long serialVersionUID = 1L; }
(2) ビジネスロジッククラスの作成
(1)で作成した業務例外クラスをスローする処理を追加する。
- InsertBLogicクラスを開き、executeメソッドを以下のように修正する。
/** * 登録処理を行う。 */ public BLogicResult execute(InsertInput param) { ・・・略・・・ //登録処理 updateDAO.execute("insertUser", param); // 業務例外を意図的に発生させるため、結果画面には遷移しない。 // //メッセージ処理 // BLogicMessages messages = new BLogicMessages(); // messages.add("message", // new BLogicMessage("message.regist",param.getId())); // result.setMessages(messages); // result.setResultString("success"); // // return result; //業務例外をスローする throw new InsertException(); }
本節では、ロールバックの動作を確認するため、BLogicResultを返却せずに意図的に業務例外をスローしていることに注意すること。