Je lisais this article sur la gestion des exceptions d'état corrompu et je suis tombé sur quelque chose qui m'a intrigué.Qu'est-ce qu'une clause d'erreur dans le système d'exception CLR?
Qu'est-ce qu'une clause d'erreur?
devis Voir l'article ci-dessous:
Une condition d'erreur ne peut passer de la fonction contenant la condition inattendue à l'appelant de cette fonction. Les exceptions ont le pouvoir de transmettre les résultats de l'exécution d'une fonction hors du périmètre de la fonction en cours de chaque image la pile jusqu'à ce qu'il atteigne le cadre qui sait gérer la condition inattendue. Le système d'exception du CLR (appelé un système d'exception passe-deux ) offre l'exception à chaque prédécesseur la pile d'appel du fil, en commençant avec l'appelant et procédure jusqu'à ce que une fonction dit qu'il va gérer l'exception (ce qui est connu comme le premier passage ).
Le système va alors se détendre exception l'état de chaque trame sur la pile entre appel lorsque l'exception est soulevée et où il sera traité (connu sous le nom de la seconde passe). Lorsque la pile se déroule, le CLR exécute les clauses finally et les clauses d'erreur dans chaque image lorsqu'elle est déroulée. Ensuite, la clause catch dans la trame de gestion est exécutée .