コンテンツにスキップ

例外処理方針⚓︎

ここでは、 SSR アプリケーションにおける例外処理方針を説明します。

例外の種類⚓︎

例外は、業務例外とシステム例外の 2 種類に分けて考えます。

  • 業務例外:業務フローで想定されるエラーを表す例外です。
  • システム例外:業務フロー上は想定されないシステムのエラーを表す例外です。

SSR アプリケーションでは、業務例外は独自に作成する例外クラス( System.Exception の派生クラス)で表現します。システム例外は、原則として .NET が提供する例外クラスです。

例外の捕捉⚓︎

業務例外は、プレゼンテーション層の @code ブロックで、発生が予測できる箇所に限り try-catch を使用して捕捉します。 その後、警告レベル以下のログレベルでログを出力し、画面上に業務例外の内容に応じたメッセージを表示します。 ログレベルは、業務例外の重要度に応じて適切に設定する必要があります。

システム例外は原則として捕捉しません。

例外の処理⚓︎

プレゼンテーション層の @code ブロックで捕捉されない業務例外、およびシステム例外が発生した場合、 SignalR 接続をリセットして、業務フローを再実行します。 具体的には、以下のようにして実現します。

  • 画面下部にエラーメッセージを表示し、リロードを促すリンクを提示して最初からやり直してもらう
  • 固有のシステムエラー画面を表示する