例外処理方針⚓︎
アプリケーション全体での例外処理方針を定めます。
例外の種類⚓︎
AlesInfiny Maris OSS Edition では、アプリケーションで発生する例外を 業務例外 と システム例外 の 2 つに分類します。 それぞれの例外の意味や処理方針を以下に示します。
業務例外⚓︎
-
意味
業務フロー上、想定されるエラーを表す例外です。
-
発生箇所
アプリケーションコア層の業務ロジック内で、明示的にスローします。
-
処理方針
業務ロジックの最も外側で集約し、アプリケーション形態・業務フローに応じた処理を行います。
システム例外⚓︎
-
意味
業務フロー上は想定されないシステムのエラーを表す例外です。 実行ランタイムまでキャッチされずに到達した例外は、すべてシステム例外として扱います。
-
発生箇所
.NET の実行ランタイム内からスローされます。 またアプリケーションとして想定していない状態となったとき、業務ロジック内から明示的にスローすることがあります。
-
処理方針
集約例外ハンドラー内でキャッチして、システムエラーの処理フローを実行します。
業務例外とシステム例外の使い分け⚓︎
原則として、システム例外は業務ロジック内からスローしないようにします。 何らかのエラー状態を業務ロジックとして検出するのであれば、そのエラーを回復するための手段を業務フローとして設計し、業務例外として処理します。