複数の例外を同時にキャッチするためのベスト プラクティス
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 サイトの他の関連記事を参照してください。