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

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

Barbara Streisand
リリース: 2025-01-20 23:32:11
オリジナル
453 人が閲覧しました

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

複数の例外を簡単に処理します

例外処理における従来の慣例では、一般的な System.Exception エラーの捕捉を避けることが推奨されています。代わりに、アプリケーションにとって「既知の」特定の例外のみを処理することをお勧めします。ただし、このアプローチではコードの重複が発生する場合があります。

次のシナリオを考えてみましょう:

<code class="language-csharp">try
{
    WebId = new Guid(queryString["web"]);
}
catch (FormatException)
{
    WebId = Guid.Empty;
}
catch (OverflowException)
{
    WebId = Guid.Empty;
}</code>
ログイン後にコピー

この重複を避けるための、より洗練された解決策は、単一の catch ブロックで両方の例外をキャッチすることです。

<code class="language-csharp">catch (Exception ex)            
{                
    if (ex is FormatException || ex is OverflowException)
    {
        WebId = Guid.Empty;
    }
    else
        throw;
}</code>
ログイン後にコピー

このコードは if ステートメントを使用して、処理する必要がある特定の例外を識別します。このアプローチの利点は、予期しない例外がスタック上に伝播することを許可しながら、複数の例外を一度にキャッチできることです。これは、オブジェクトが複数回変更され、いずれかの操作が失敗した場合にリセットする必要がある場合に特に便利です。

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

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