【システム設計】エラー処理のパターン


システムで発生するエラーは、以下のように分類できる。

  1. 業務エラー
    1. 単体入力エラー
    2. 突合せエラー
  2. システムエラー

業務エラー

アプリケーション側で想定可能で、発生しても以後の処理に復帰できるようなエラー。
業務における不正データを入力出来にように、実装が必要。

  1. 単体入力エラー(バリデーションチェック)
  • 必須チェック
  • データ型チェック(文字列、数字、日付等)
  • 期間(日時)や量(数字)などの範囲チェック
  • 入力パターンチェック(郵便番号、メールアドレス、URL等)
  • 日付の前後関係などのデータ項目の相関チェック
  1. 突合せエラー(DBチェック)
  • 入力した値が既に登録されている(重複チェック)
  • マスターテーブルに存在しないコードが入力された(マスタチェック)

システムエラー

アプリケーション側で想定しておらず、発生したときには以後の処理には復帰できない致命的なエラー。
システムエラーが発生した場合、アベンド、異常終了といわれる状態になる。
業務ロジック内の例外であれば、DBのロールバック、コネクションの開放等を実施するよう実装する。

参考

・エラーチェックの体系的な分類方法
https://docs.microsoft.com/ja-jp/archive/blogs/nakama/293

・エラー処理をパターンにはめよう
https://codezine.jp/article/detail/6553