この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 2721|答える: 0

[ASP.NET] Core 8 ASP.NET グローバル例外処理にIExceptionHandlerを使用しています

[リンクをコピー]
掲載地 2024/06/03 9:21:04 | | | |
要件:フロントエンドで一貫したリクエスト応答データ形式を維持するために、バックエンドはグローバル例外をフォーマットし、その後フロントエンドが例外情報を受け取り親しみやすいプロンプトを提供します。

IExceptionHandlerが登場する前に、例外キャッチミドルウェアを書く必要があり、ミドルウェアコードはtry-catchを使ってキャッチして応答します。

ASP.NET Core 8は例外管理のための新しいものを導入しましたIExceptionHandler要約。 組み込みの例外ハンドラミドルウェアはIExceptionHandlerの実装を使って例外を処理します。

インターフェースにはTryHandleAsyncメソッドが1つしかありません。

TryHandleAsyncは ASP.NET コアパイプラインで指定された例外を処理しようとします。 例外を処理できれば、trueを返すはずです。 例外を処理できない場合は、falseを返すべきです。 これにより、異なるシナリオごとにカスタムの例外処理ロジックを実装できます。

コントローラーが例外をスローした場合、コードは以下の通りです:

例外を扱わない場合、本番環境でのデフォルトの応答は以下の通りです:



以下のコードで新しいGlobalExceptionHandler例外ハンドラを作成します:

次に、例外ハンドラを登録し、コードは以下の通りです。

例外コントローラーにアクセスしようとしたところ、次のような返答がありました:



参考:

ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。
ハイパーリンクのログインが見えます。





先の:Angular 17シリーズ(XVII)は@Input値の変化を検出します
次に:.NET/C#におけるDateTimeとDateTimeOffsetの違い
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com