Taula de continguts:
Definició: què significa Final Block?
Un bloc finalment, en el context de C #, fa referència a un bloc d’instruccions que s’executen sempre, independentment de successos o excepcions inesperades que es puguin produir durant l’execució d’una aplicació. S'utilitza opcionalment amb el bloc "try / catch" i garanteix l'execució de qualsevol codi que s'ha d'executar abans de sortir del bloc "try", independentment de l'èxit o el fracàs de l'execució de l'aplicació.
L’execució d’un bloc final té com a objectiu alliberar recursos, com ara connexions de bases de dades, que normalment estan disponibles en quantitats limitades. Amb aquest mecanisme, l’eliminació de recursos es produeix anteriorment a l’operació de finalització del col·lector d’escombraries, optimitzant així la memòria.
Techopedia explica Final Block
El codi del bloc final es pot utilitzar per gestionar les excepcions tan aviat com es produeixen, netejar la memòria assignada al bloc "provar" o disposar d'objectes amb recursos externs (com les mànecs de fitxers) utilitzats al bloc "try". Un bloc final també facilita la realització de tasques de neteja com restablir un cursor a un estat normal abans de l’hora d’una excepció.
En general, el codi dins d’un bloc finalment s’executa quan el control surt d’un bloc de prova com a resultat de l’execució normal, com a resultat de l’execució d’una instrucció “trencar”, “goto”, “continuar” o “tornar” o degut. a una excepció fora de la instrucció try.
Sempre que es produeix una excepció al bloc try, el control passa de la línia que va causar l'excepció al bloc de captura més proper (gestor d'excepcions) i després al bloc final. A més, quan es torna a executar una excepció en un bloc de captura, controlar les transferències al bloc final. Així, es saltarà el codi que segueix la línia on s’ha produït l’excepció.
Les excepcions no s'han de llançar explícitament en un bloc finalment. Si es produeix una excepció durant l'execució d'un bloc final, qualsevol codi després del punt on es llança l'excepció no s'executarà i l'excepció es propagarà fins al bloc de prova del tancament exterior. Si el bloc final ja està gestionant una altra excepció, això dóna lloc a la finalització del processament de l’excepció actual.
S'ha de tenir cura de no transferir explícitament l'execució dins o fora d'un bloc finalment, ja que no es tracta d'una transferència vàlida.