今回は、開発をしている間に指摘をいただいて「なるほど!」となったことをメモとして残していこうと思います。
指摘
Springを使って開発をしておりますが、ビジネスロジック内でDBの異常終了やシステムエラーが発生した場合、catchしてエラ〜メッセージを画面に返却していました。(システムエラーですよ〜みたいな)
編集や削除のような処理では排他チェック(削除しようとしているデータがあるのか)をしてデータがない場合は、エラ〜メッセージを返却するようなロジックもあるかと思います。
指摘いただいた内容は「リカバリ可能なエラーも不可なエラーもリカバリ可能なエラーのような扱いをしているようだが、システム方針として考えは?」
感じたこと
確かに指摘いただいて、排他チェックでエラーが発生した場合は一覧画面で再検索を行えば削除されたデータは持ってこないだろうとこれは知っていました。(ここでは一覧画面から削除を行うことを前提)
ただ、システムエラーもエラ〜メッセージを返却するような処理で終わるのであれば、ユーザーがわでは何回もエラーが起きる可能性があるだろうと考えたら怖いと思ってしました。
結果
エラー画面に遷移されるように方針を変更しました。
終わりに
この記事はあくまでも自分が感じて考えて書いた記事なので、色々な意見と方法があるかと思います。
これからは上記の内容が設計書などに書いてあったらどの扱いをするのかちゃんと意図を聞こうと思います。
