Tabla de contenido:
Definición - ¿Qué significa Catch Block?
Un bloque catch, en C #, es un bloque de código opcional que se ejecuta cuando se genera una excepción.
El bloque de captura es una parte específica de la construcción de manejo excepcional, y se implementa usando la palabra clave "catch" en combinación con las palabras clave "try" y "finalmente" y forma los medios para implementar el manejo de excepciones estructurado. Un bloque de prueba incluye el código protegido que puede causar la excepción. Incluye declaraciones que tratan circunstancias excepcionales y trabaja para recuperarse de tales condiciones inesperadas.
El bloque de captura constituye el medio para manejar excepciones. Si no se manejan, esto puede llevar a la finalización de todo el programa por el tiempo de ejecución de .NET. Se puede usar un bloque catch para manejar cualquiera o excepciones específicas.
Techopedia explica Catch Block
El modelo de manejo de excepciones de Common Language Runtime (CLR) permite más de un bloque catch, cada uno de los cuales está diseñado para manejar una excepción específica. Cada vez que ocurre una excepción, el CLR busca el bloque catch que maneja la excepción. Si el método que se está ejecutando actualmente no contiene dicho bloque, CLR lo busca en el método que llamó al método actual en la pila de llamadas. Si no se encuentra una cláusula coincidente para esa excepción en todo el código, se detiene la ejecución del subproceso y se muestra un mensaje de excepción no controlada al usuario.
Los siguientes son algunos consejos relacionados con el uso de un bloque catch:
- El tipo de excepción debe especificarse en el bloque de captura solo después de que se haya determinado la razón detrás de la ocurrencia de excepciones específicas que no se pueden evitar (como fallas catastróficas del sistema, mal uso de la API, etc.) y se ha implementado la recuperación sin dejar la aplicación en un estado inconsistente o Estado Inválido.
- El bloque catch debe colocarse de modo que las excepciones más específicas tengan que capturarse antes que las menos específicas.
- El bloqueo de captura sin parámetros se denomina "excepciones de alimentación" porque esto puede suprimir problemas graves que son difíciles de depurar.
- El bloque de captura se puede centralizar para que pueda manejar la excepción desde una ubicación central.
- La instrucción "throw" se puede usar dentro del bloque catch para el cual el mismo objeto de excepción pasado en throw se puede pasar nuevamente mientras se vuelve a lanzar.
- Las variables declaradas dentro de un bloque try no se pueden usar fuera de él.
- El código no volverá al bloque try después de que se haya ejecutado el bloque catch.
- Probar el código del controlador de excepciones en el bloque catch es esencial para evitar romper la aplicación.
- El bloque de captura no debe usarse para el código de limpieza.
- El bloque de captura sin parámetros no se puede usar para manejar excepciones que no son compatibles con Common Language System (aquellas que no se derivan de System.Exception).