###前提・実現したいこと
javaの決まりというか、慣習というか分かりませんが、引数によって何らかの判定を行い、
判定にマッチした場合例外を投げるだけの関数を作ることはjavaのルールや慣習として許されているでしょうか。
関数の説明
- 呼び出し元からチェック用の変数を引数として受け取る。
- 特定の値であれば例外を投げる。
- 上記の特定の値意外であれば、何もせず呼び出し元に処理が戻る。
###該当のソースコード
例えばこんな感じ
private void errorCheck(String checkTarget){ if(checkTarget.equals("hogehoge")){ throw new SystemException("システムエラー"); } else if(checkTarget.equals("fugafuga")){ throw new BusinessException("業務エラー"); } }
###試したこと
戻り値をvoidでなく、booleanとして例外とならなかった場合は常にtrue
を返し、
呼び出し元では戻り値を受け取らず、処理を続行する。
private boolean errorCheck(String checkTarget){ if(checkTarget.equals("hogehoge")){ throw new SystemException("システムエラー"); } else if(checkTarget.equals("fugafuga")){ throw new BusinessException("業務エラー"); } return true; }
###気になる部分
該当のソースコードについて
- 呼び出し元から見ると、void型の関数を呼んだにもかかわらす処理が終わってしまう事がある。
- 関数名がcheckとなっているが boolean の戻り値でない。
試してみたことについて
- 戻り値を boolean と言いつつ、true OR Exception を返すような作りになっている。(正確には例外は返していないが...)
- 呼び出し元では、戻り値がある関数であるにも関わらず、その戻り値を受取る必要がない。(受け取らない。)
ご回答の程よろしくお願いします。

回答8件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。