ホームページ >バックエンド開発 >C++ >C# で予期される複数の例外を効率的に処理するにはどうすればよいですか?

C# で予期される複数の例外を効率的に処理するにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-20 23:26:15223ブラウズ

How Can I Efficiently Handle Multiple Expected Exceptions in C#?

複数の例外を同時にキャッチするためのベスト プラクティス

C# では、System.Exception を使用してすべての例外を直接キャッチすることは一般的に推奨されません。ベスト プラクティスは、存在することがわかっている特定の例外のみをキャッチすることです。ただし、このアプローチでは、予期される複数の例外を処理するときにコードが冗長になる可能性があります。

例:

<code class="language-csharp">try
{
    WebId = new Guid(queryString["web"]);
}
catch (FormatException)
{
    WebId = Guid.Empty;
}
catch (OverflowException)
{
    WebId = Guid.Empty;
}</code>

上記のコードには繰り返し構造があります。より簡潔な方法は、System.Exception を使用してすべての例外をキャッチし、次に switch ステートメントを使用して例外の種類を区別することです。

<code class="language-csharp">catch (Exception ex)
{
    switch (ex)
    {
        case FormatException:
        case OverflowException:
            WebId = Guid.Empty;
            break;
        default:
            throw; // 将未处理的异常重新抛出
    }
}</code>
このアプローチは、予期しない例外をスローする機能を維持しながら、複数の既知の例外を効率的に処理します。

を一般的な方法としてキャプチャすることは、依然として推奨されていないことに注意してください。予期される例外のみを適切にキャッチして処理します。 System.Exception

以上がC# で予期される複数の例外を効率的に処理するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。