ホームページ > バックエンド開発 > C++ > ASP.NET Core Web API で例外を効果的に処理するにはどうすればよいですか?

ASP.NET Core Web API で例外を効果的に処理するにはどうすればよいですか?

Patricia Arquette
リリース: 2025-01-18 20:56:10
オリジナル
467 人が閲覧しました

How Can I Effectively Handle Exceptions in ASP.NET Core Web API?

ASP.NET Core Web API の堅牢なエラー管理

ASP.NET Core の例外処理は、以前の ASP.NET Web API とは大きく異なります。 このガイドでは、効果的なエラー管理のためのベスト プラクティスについて概説します。

例外処理フィルター: 出発点

例外処理フィルターは、コントローラー アクション内の例外を管理するのに便利ですが、アクション フィルターから発生する例外をキャプチャしません。 包括的なエラー処理には、IExceptionHandler インターフェイスが重要です。

IExceptionHandler インターフェイスの利用

IExceptionHandler は、コントローラーとアクション フィルターの両方から例外をキャプチャする、例外処理のためのグローバル メカニズムを提供します。

実装例:

<code class="language-csharp">using Microsoft.AspNetCore.Diagnostics;

public class MyExceptionHandler : IExceptionHandler
{
    public async ValueTask<bool> TryHandleAsync(
        HttpContext context, 
        Exception exception, 
        CancellationToken cancellationToken)
    {
        // Implement custom exception handling logic here.  
        // Set appropriate HTTP status codes and response bodies.
        // ...

        return true; // Indicates the exception has been handled.
    }
}</code>
ログイン後にコピー

ミドルウェア統合

IExceptionHandler 実装を作成したら、それを Startup クラス内に登録します。

<code class="language-csharp">builder.Services.AddExceptionHandler<MyExceptionHandler>();

app.UseExceptionHandler(_ => { });</code>
ログイン後にコピー

複数の例外の処理

ASP.NET Core は、複数の IExceptionHandler 実装の登録をサポートしています。 登録の順序によって呼び出しシーケンスが決まります。 true から TryHandleAsync が返されると、例外が処理されたことを示します。それ以外の場合、例外は後続のハンドラーに伝播します。

以上がASP.NET Core Web API で例外を効果的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート