Innholdsfortegnelse:
Definisjon - Hva betyr sluttblokk?
En endelig blokk, i sammenheng med C #, refererer til en blokk med uttalelser som alltid blir kjørt, uavhengig av uventede hendelser eller unntak som kan oppstå under utførelsen av et program. Den brukes valgfritt med "try / catch" -blokken og garanterer utførelsen av en hvilken som helst kode som må utføres før du går ut av "try" -blokken, uavhengig av suksess eller fiasko i applikasjonens utførelse.
Utførelsen av en endelig blokk er ment å frigjøre ressurser, for eksempel databaseforbindelser, som vanligvis er tilgjengelige i begrensede mengder. Med denne mekanismen skjer disponering av ressurser tidligere enn søppelsamlerens sluttbehandling, og optimaliserer dermed minnet.
Techopedia forklarer sluttblokk
Koden i den endelige blokken kan brukes til å håndtere unntak så snart de oppstår, rydde opp i minnet som er tildelt i "prøve" -blokken eller kaste bort objekter som har eksterne ressurser (som filhåndtak) brukt i "prøve" -blokken. En endelig blokkering letter også utførelsen av rengjøringsoppgaver som å tilbakestille markøren til normal tilstand før unntakstidspunktet.
Generelt blir koden i en endelig blokk utført når kontroll går ut av en prøveblokk som et resultat av normal utførelse, som et resultat av utførelsen av en "pause", "gå", "fortsett" eller "retur" -erklæring eller på grunn til et unntak fra uttalelsen.
Når et unntak inntreffer i prøveblokken, går kontrollen fra linjen som forårsaket unntaket til nærmeste fangstblokk (unntakshåndterer) og deretter til den endelige blokken. Når et unntak blir trukket inn igjen i en fangstblokk, overføres kontrollen til den endelige blokken. Dermed hoppes over kode som følger linjen der unntaket skjedde.
Unntak skal ikke kastes eksplisitt i en endelig blokk. Hvis et unntak oppstår under utførelsen av en endelig blokk, vil ikke noen kode etter punktet der unntaket kastes kjøres, og unntaket vil forplante seg til den ytre omsluttende prøveblokken. Hvis den endelige blokken allerede håndterer et annet unntak, resulterer dette i avslutningen av behandlingen av det nåværende unntaket.
Det må tas hensyn til ikke eksplisitt å overføre kjøringen til eller ut av en endelig blokkering, da dette ikke er en gyldig overføring.
