Meilleures pratiques: C # anormalement re -throw
Lors du traitement des anomalies, conserver ses informations de suivi
et de pile est important pour le débogage. Cet article traite des meilleures pratiques de capture et de réintégration des anomalies pour conserver ces informations clés.
InnerException
La comparaison des blocs de code de traitement anormaux
Veuillez considérer le bloc de code suivant:
La principale différence entre les deux blocs de code est qu'ils conservent la voie des détails anormaux. En utilisant , le deuxième bloc de code réinallume efficacement les anomalies actuelles sans modifier le suivi de la pile ou
<code class="language-csharp">try { //某些代码 } catch (Exception ex) { throw ex; }</code>
<code class="language-csharp">try { //某些代码 } catch { throw; }</code>
Au contraire, le premier bloc de code a montré la capture de l'anormal throw;
. Cependant, cette opération utilisera un nouveau suivi de la pile pour couvrir le suivi actuel de la pile, à partir de Re -age de la position InnerException
. Par conséquent, toutes les informations de suivi de pile après l'anomalie initiale seront perdues.
Autres précautions ex
ex
InnerException
Il est également recommandé de passer l'anomalie d'origine en tant que paramètre aux anomalies re-jet, permettant au code en aval d'accéder aux informations détaillées conservées. Cela peut être mis en œuvre via la grammaire suivante:
En bref, utilisez pour conserver les informations anormales d'origine lors de la réduction des anomalies, y compris
et le suivi de la pile. Cette approche est essentielle pour un débogage efficace et une analyse des erreurs.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!