目次 > 第2章 Server(Rich)版チュートリアル > 2.7 例外処理 > 2.7.1 例外処理の設定

2.7.1 例外処理の設定

ユーザIDでデータベースを検索し、ユーザが存在する場合の処理にServiceExceptionをthrowする処理を追加する。

手順

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

(1) メッセージリソースファイルの編集

例外制御で必要となるメッセージの追加を行う。

  1. “terasoluna-spring-rich-blank/sources/application-messages.properties”を開き、以下のメッセージを追加する。
    #例外制御(AP例外)で使うメッセージ
    AP.00001=入力されたIDは既に登録されています。
    

(2) ビジネスロジッククラスの編集

例外をthrowする処理を追加する。

  1. DBAccessBLogicクラスを開き、executeメソッドにユーザが存在する場合の処理にServiceExceptionをthrowする処理を追加する。
    ・・・略・・・
    
        public ResultData execute(UserBean inputData) {
            // 結果クラスの生成、結果の設定
            ResultData result = new ResultData();
            
            // 入力情報ビジネスロジックの実行
            // 返却値が、falseの場合は重複エラー。
            // trueの場合は登録処理が正常に終了。
            if (!check(inputData)) {
                // 重複エラー時の処理
    
                //ここから
                //return result;
                throw new ServiceException("AP.00001");
                //ここまで
            }
            // ユーザ情報を登録する。
            updateDAO.execute("insertUser", inputData);
            
            // ユーザ情報を全件取得する。
            List<UserBean> userBeanList = queryDAO.executeForObjectList("getUserList", null);
            result.setUserBean(userBeanList);
            result.setTotalCount(Integer.valueOf(userBeanList.size()));
            return result;
        }
    
    ・・・略・・・
    
    

ServiceException生成時に(1)で追加したメッセージキーを渡すことで、エラーメッセージを表示することができる。


次項:2.7.2 動作確認

Copyright (C) 2009 NTT DATA CORPORATION