Indholdsfortegnelse:
Definition - Hvad betyder endelig blok?
En endelig blok i forbindelse med C # henviser til en blok med udsagn, der altid udføres, uanset uventede begivenheder eller undtagelser, der kan forekomme under udførelsen af en applikation. Det bruges valgfrit med "try / catch" -blokken og garanterer udførelsen af enhver kode, der skal udføres, før du afslutter "try" -blokken, uanset hvor succes eller fiasko programmets udførelse har.
Udførelsen af en endelig blok er beregnet til at frigive ressourcer, såsom databaseforbindelser, som normalt er tilgængelige i begrænsede mængder. Ved hjælp af denne mekanisme sker bortskaffelse af ressourcer tidligere end affaldsopsamlerens færdiggørelsesoperation, hvorved hukommelsen optimeres.
Techopedia forklarer Endelig Block
Koden i den endelige blok kan bruges til at håndtere undtagelser, så snart de forekommer, rydde op i hukommelsen tildelt i "try" -blokken eller bortskaffe objekter, der har eksterne ressourcer (som filhåndtag), der bruges i "try" -blokken. En endelig blok letter også udførelsen af husholdningsopgaver som at nulstille en markør til en normal tilstand inden undtagelsestidspunktet.
Generelt udføres koden inden for en endelig blok, når kontrollen forlader en prøveblok som et resultat af normal udførelse, som et resultat af udførelsen af en "pause", "goto", "fortsæt" eller "retur" -erklæring eller på grund af til en undtagelse fra try-erklæringen.
Hver gang en undtagelse forekommer i prøveblokken, passerer kontrol fra linjen, der forårsagede undtagelsen til den nærmeste fangstblok (undtagelseshåndterer) og derefter til den endelige blok. Når en undtagelse er trukket tilbage i en fangstblok, overføres kontrol til den endelige blok. Koden, der følger linjen, hvor undtagelsen fandt sted, springes således over.
Undtagelser bør ikke kastes eksplicit i en endelig blok. Hvis der sker en undtagelse under udførelsen af en endelig blok, vil en kode efter det punkt, hvor undtagelsen kastes, ikke udføres, og undtagelsen spreder sig til den ydre indkapslende prøveblok. Hvis den endelige blok allerede håndterer en anden undtagelse, resulterer dette i afslutning af behandlingen af den aktuelle undtagelse.
Man skal være omhyggelig med ikke eksplicit at overføre eksekvering til eller ud af en endelig blok, da dette ikke er en gyldig overførsel.
