Hogar Desarrollo ¿Qué es un bloque finalmente en c? - definición de techopedia

¿Qué es un bloque finalmente en c? - definición de techopedia

Tabla de contenido:

Anonim

Definición - ¿Qué significa finalmente bloquear?

Un bloque finalmente, en el contexto de C #, se refiere a un bloque de declaraciones que siempre se ejecutan, independientemente de los eventos inesperados o excepciones que pueden ocurrir durante la ejecución de una aplicación. Se usa opcionalmente con el bloque "try / catch" y garantiza la ejecución de cualquier código que deba ejecutarse antes de salir del bloque "try", independientemente del éxito o el fracaso de la ejecución de la aplicación.


La ejecución de un bloque finalmente está destinada a liberar recursos, como conexiones de base de datos, que generalmente están disponibles en cantidades limitadas. Mediante este mecanismo, la eliminación de recursos ocurre antes de la operación de finalización del recolector de basura, optimizando así la memoria.

Techopedia explica finalmente Block

El código en el bloque finalmente se puede utilizar para manejar excepciones tan pronto como ocurran, limpiar la memoria asignada en el bloque "probar" o desechar objetos que contengan recursos externos (como identificadores de archivos) utilizados en el bloque "probar". Un bloqueo finalmente también facilita la realización de tareas de limpieza como restablecer un cursor a un estado normal antes del momento de una excepción.


En general, el código dentro de un bloque finalmente se ejecuta cuando el control sale de un bloque try como resultado de la ejecución normal, como resultado de la ejecución de una declaración "break", "goto", "continue" o "return" o debido a una excepción de la declaración de prueba.


Cada vez que ocurre una excepción en el bloque try, el control pasa de la línea que causó la excepción al bloque catch más cercano (manejador de excepciones) y luego al bloque finalmente. Además, cuando se vuelve a lanzar una excepción en un bloque catch, el control se transfiere al bloque finalmente. Por lo tanto, se omitirá el código que sigue la línea donde ocurrió la excepción.


Las excepciones no se deben lanzar explícitamente en un bloque finalmente. Si se produce una excepción durante la ejecución de un bloque finalmente, cualquier código después del punto donde se lanza la excepción no se ejecutará, y la excepción se propagará al bloque try externo que lo encierra. Si el bloque finalmente ya está manejando otra excepción, esto da como resultado la finalización del procesamiento de la excepción actual.


Se debe tener cuidado de no transferir explícitamente la ejecución dentro o fuera de un bloque finalmente ya que esta no es una transferencia válida.

Esta definición fue escrita en el contexto de C #
¿Qué es un bloque finalmente en c? - definición de techopedia