Taula de continguts:
Definició: què significa Catch Block?
Un bloc de captura, en C #, és un bloc de codi opcional que s'executa quan es presenta una excepció.
El bloc de captures és una part específica de la construcció de maneig excepcional i s'implementa utilitzant la paraula clau "catch" en combinació amb les paraules clau "try" i "finalment" i forma els mitjans per implementar el maneig estructurat d'excepcions. Un bloc de prova inclou el codi protegit que pot causar l’excepció. Inclou declaracions que tracten circumstàncies excepcionals i treballa per recuperar-se de condicions tan inesperades.
El bloc de captura és el mitjà per gestionar les excepcions. Si no es gestiona, això pot acabar amb el programa complet amb el temps d'execució .NET. Es pot utilitzar un bloc de captura per a manejar alguna o alguna excepció específica.
Techopedia explica Catch Block
El model de maneig d’excepcions de Common Language Runtime (CLR) permet més d’un bloc de captura, cadascun dels quals està dissenyat per gestionar una excepció específica. Sempre que es produeix una excepció, el CLR busca el bloc de captura que gestioni l’excepció. Si el mètode que s’executa actualment no conté un bloc, CLR el cerca en el mètode que ha cridat el mètode actual a la pila de trucades. Si no es troba cap clàusula de concordança per a aquesta excepció a tot el codi, s'atura la execució del fil i apareix a l'usuari un missatge d'excepció sense complir.
A continuació, es mostren alguns consells relacionats amb l’ús d’un bloc de captura:
- El tipus d’excepció s’ha d’especificar al bloc de captura només després de la raó de l’aparició d’excepcions específiques i imprevisibles (com a fallada del sistema catastròfic, mal ús de l’API, etc.) i s’ha determinat la recuperació sense deixar l’aplicació en inconsistent o estat no vàlid.
- El bloc de captura s’ha de situar de manera que s’han d’atrapar les excepcions més específiques abans que les menys específiques.
- El bloc de captura sense paràmetres es denomina "excepcions de menjar", ja que això pot suprimir problemes greus de difícil depuració.
- Es pot centralitzar el bloc de captura de manera que pugui gestionar l'excepció des d'una ubicació central.
- La instrucció "llançar" es pot fer servir dins del bloc de captura per al qual es pot tornar a passar el mateix objecte d'excepció passat en llançament mentre es repeteix.
- Les variables declarades dins d’un bloc de prova no es poden utilitzar fora d’aquest.
- El codi no es reprendrà al bloc de prova després d'executar el bloc de captura.
- La prova del codi de controlador d’excepcions al bloc de captures és fonamental per evitar que es trenqui l’aplicació.
- No s’ha d’utilitzar el bloc de captura per al codi de neteja.
- El bloc de captura sense paràmetres no es pot utilitzar per gestionar excepcions que no siguin compatibles amb el llenguatge comú (no derivades de System.Exception).
