Heim >Backend-Entwicklung >C++ >Wie kann ich mehrere erwartete Ausnahmen in C# effizient behandeln?
Best Practices zum gleichzeitigen Abfangen mehrerer Ausnahmen
In C# wird das direkte Abfangen aller Ausnahmen mit System.Exception
im Allgemeinen nicht empfohlen. Die beste Vorgehensweise besteht darin, nur bestimmte Ausnahmen abzufangen, von denen bekannt ist, dass sie existieren. Allerdings kann dieser Ansatz bei der Behandlung mehrerer erwarteter Ausnahmen zu redundantem Code führen.
Zum Beispiel:
<code class="language-csharp">try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; }</code>
Der obige Code weist wiederholte Strukturen auf. Eine prägnantere Methode besteht darin, System.Exception
zu verwenden, um alle Ausnahmen abzufangen, und dann die switch
-Anweisung zu verwenden, um den Ausnahmetyp zu unterscheiden:
<code class="language-csharp">catch (Exception ex) { switch (ex) { case FormatException: case OverflowException: WebId = Guid.Empty; break; default: throw; // 将未处理的异常重新抛出 } }</code>
Dieser Ansatz behandelt effizient mehrere bekannte Ausnahmen und behält gleichzeitig die Möglichkeit, unerwartete Ausnahmen auszulösen.
Bitte denken Sie daran, dass die Erfassung System.Exception
als Allgemeinarztpraxis weiterhin nicht empfohlen wird. Erwartete Ausnahmen nur angemessen abfangen und behandeln.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere erwartete Ausnahmen in C# effizient behandeln?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!