Gérez facilement plusieurs exceptions
La pratique conventionnelle en matière de gestion des exceptions recommande généralement d’éviter de détecter les erreurs génériques System.Exception. Au lieu de cela, il est recommandé de gérer uniquement les exceptions spécifiques « connues » de l’application. Cependant, cette approche conduit parfois à une duplication de code.
Considérez le scénario suivant :
<code class="language-csharp">try { WebId = new Guid(queryString["web"]); } catch (FormatException) { WebId = Guid.Empty; } catch (OverflowException) { WebId = Guid.Empty; }</code>
Pour éviter cette duplication, une solution plus élégante consiste à intercepter les deux exceptions avec un seul bloc catch :
<code class="language-csharp">catch (Exception ex) { if (ex is FormatException || ex is OverflowException) { WebId = Guid.Empty; } else throw; }</code>
Ce code utilise des instructions if pour identifier les exceptions spécifiques qui doivent être gérées. L'avantage de cette approche est que plusieurs exceptions peuvent être interceptées en même temps tout en permettant aux exceptions inattendues de se propager dans la pile. Ceci est particulièrement utile lorsqu'un objet est modifié plusieurs fois et doit être réinitialisé si l'une des opérations échoue.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!