Mehrere Ausnahmen gleichzeitig abfangen
Bei der Behandlung mehrerer bekannter Ausnahmen in C#-Code kann es mühsam sein, jede Ausnahme einzeln abzufangen und zu behandeln. Im bereitgestellten Szenario beispielsweise:
<code class="language-csharp">try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; }</code>
Um diesen Prozess zu vereinfachen, sollten Sie einen einzelnen Catch-Block verwenden, der alle potenziellen Ausnahmen enthält, und eine switch-Anweisung verwenden, um zwischen ihnen zu unterscheiden:
<code class="language-csharp">catch (Exception ex) { if (ex is FormatException || ex is OverflowException) { WebId = Guid.Empty; } else { throw; } }</code>
In diesem Fall wird jede ausgelöste FormatException oder OverflowException behandelt, indem die WebId auf Guid.Empty gesetzt wird, während alle anderen Ausnahmen sich weiterverbreiten dürfen. Dieser Ansatz vereinfacht den Code und behält gleichzeitig die Kontrolle über die Behandlung erwarteter Ausnahmen.
Das obige ist der detaillierte Inhalt vonWie kann ich mehrere Ausnahmen in C# effizient abfangen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!