複数の例外を同時にキャッチします
C# コードで複数の既知の例外を処理する場合、各例外を個別にキャッチして処理するのは面倒な場合があります。たとえば、提供されたシナリオでは:
<code class="language-csharp">try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; }</code>
このプロセスを簡素化するには、すべての潜在的な例外を含む単一の catch ブロックを使用し、それらを区別するために switch ステートメントを使用することを検討してください。
<code class="language-csharp">catch (Exception ex) { if (ex is FormatException || ex is OverflowException) { WebId = Guid.Empty; } else { throw; } }</code>この場合、スローされた FormatException または OverflowException は、WebId を Guid.Empty に設定することで処理されますが、他のすべての例外は伝播を許可されます。このアプローチにより、予期される例外の処理の制御を維持しながら、コードが簡素化されます。
以上がC# で複数の例外を効率的にキャッチするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。