目次 > 第2章 Server(Web)版チュートリアル >  2.11 例外処理(業務例外) > 2.11.1 業務例外クラスの作成とビジネスロジッククラスの編集

2.11.1 業務例外クラスの作成とビジネスロジッククラスの編集

本項では、業務例外クラスの作成と、登録処理を行うビジネスロジックに例外をスローする処理を追加する。

手順

本項では以下の作業が必要になる。

(1) 業務例外クラスの作成

  1. “terasoluna-spring-thin-blank\sources”を右クリックする。
  2. 「新規」→「クラス」を選択する。
  3. 以下の通り入力し、「終了」ボタンを押下する。
    • パッケージ:jp.terasoluna.thin.tutorial.web.usermanager.exception
    • 名前:InsertException
    • スーパークラス:java.lang.RuntimeException
  4. 生成されたInsertExceptionクラスを以下のように編集する。
    package jp.terasoluna.thin.tutorial.web.usermanager.exception;
    
    /**
     * 業務例外クラス。
     * 
     */
    public class InsertException extends RuntimeException {
    
        /**
         * シリアルバージョンID。
         */
        private static final long serialVersionUID = 1L;
    
    }
    

(2) ビジネスロジッククラスの作成

(1)で作成した業務例外クラスをスローする処理を追加する。

  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を返却せずに意図的に業務例外をスローしていることに注意すること。


次項:2.11.2 業務例外ハンドリングの設定

Copyright (C) 2009 NTT DATA CORPORATION