Taula de continguts:
Definició: què significa Exception Handling?
El maneig d’excepcions és un mecanisme en el qual s’utilitza una construcció de programació per atrapar, interceptar i gestionar l’error ocorregut durant l’execució de l’aplicació. El Common Language Runtime (CLR) de .NET Framework està dissenyat per utilitzar un model de maneig d’excepcions basat en objectes d’excepció i blocs de codi protegits.
Les característiques del mecanisme de maneig d'excepcions implementat en CLR són les següents:
a) Cada idioma pot tenir la seva pròpia especificació per gestionar excepcions sense restriccions
b) Es generen excepcions i es manegen excepcions independentment del llenguatge utilitzat i del tipus de codi (gestionat o no gestionat)
c) Les excepcions es poden transmetre als límits del procés o de la màquina
Techopedia explica el maneig d’excepcions
.NET runtime llança excepcions com a objectes derivats de la classe System.Exception que contenen detalls d’error, inclosos el missatge i la línia de codi on s’ha produït l’error, etc. La construcció "try..catch..finally" s’utilitza per al tractament d’excepcions. Mentre que els blocs "try" (on es preveuen les excepcions) i "catch" (on es gestionen les excepcions) són obligatoris, el bloc "finalment" (on el codi executat en tot cas) és opcional.
Si es compara amb el maneig d’errors implementat mitjançant mètodes tradicionals, com l’ús del codi de devolució com al Model Object Object (COM) i les instruccions "go to", com a Visual Basic, etc., els principals avantatges de les excepcions en .NET són la presa de tots. Falles, eliminació del procés de comprovació del valor de devolució i el seu ús (si no és vàlid) en aplicacions, ús en escenaris on no hi ha valor de retorn com constructors, major fiabilitat i millor rendiment.
Si bé Java proporciona excepcions "marcades" que ajuden a prevenir la incidència d'excepcions no documentades durant la compilació, no es poden utilitzar per a errors que no es puguin recuperar. El maneig d’excepcions en C ++ difereix del de .NET en no tenir el bloc "finalment" per netejar recursos i sense cap restricció per al tipus d’excepció.