Hjem Utvikling Hva er en fangstblokk? - definisjon fra techopedia

Hva er en fangstblokk? - definisjon fra techopedia

Innholdsfortegnelse:

Anonim

Definisjon - Hva betyr Catch Block?

En fangstblokk, i C #, er en valgfri blokkkode som utføres når et unntak heves.


Fangstblokk er en spesifikk del av den eksepsjonelle håndteringskonstruksjonen, og implementeres ved bruk av "fangst" -nøkkelordet i kombinasjon med nøkkelord "prøve" og "endelig" og danner virkemidler for å implementere strukturert unntakshåndtering. En prøveblokk inkluderer den beskyttede koden som kan forårsake unntaket. Den inneholder uttalelser som omhandler eksepsjonelle omstendigheter og arbeider for å komme seg fra slike uventede forhold.


Fangstblokk danner midlene for å håndtere unntak. Hvis disse ikke håndteres, kan dette føre til avslutning av hele programmet innen .NET-kjøretid. En fangstblokk kan brukes til å håndtere noen eller spesifikke unntak.

Techopedia forklarer Catch Block

Unntakshåndteringsmodellen til Common Language Runtime (CLR) tillater mer enn en fangstblokk, som hver er designet for å håndtere et spesifikt unntak. Når et unntak oppstår, ser CLR etter fangstblokken som håndterer unntaket. Hvis den nåværende utførende metoden ikke inneholder en slik blokk, søker CLR etter den i metoden som kalte den gjeldende metoden opp anropsstabelen. Hvis det ikke finnes noen samsvarsklausul for det unntaket i hele koden, blir utførelsen av tråden stoppet, og en ubehandlet unntaksmelding vises til brukeren.


Følgende er noen tips relatert til bruken av en fangstblokk:

  • Unntakstypen må spesifiseres til fangstblokken bare etter at årsaken bak forekomsten av spesifikke unpreventable unntak (som katastrofalsystemfeil, API-misbruk osv.) Er bestemt og utvinning er implementert uten å forlate applikasjonen i et inkonsekvent ugyldig tilstand.
  • Fangstblokken skal plasseres slik at de mer spesifikke unntakene må fanges før de mindre spesifikke.
  • Fangstblokk uten parametere blir referert til som "spise unntak" fordi dette kan undertrykke alvorlige problemer som er vanskelige å feilsøke.
  • Fangstblokk kan sentraliseres slik at den kan håndtere unntaket fra et sentralt sted.
  • "Kast" -utsagnet kan brukes i fangstblokk som det samme unntaksobjektet som er gitt i kast kan passeres igjen mens du trekker om.
  • Variabler som er deklarert i en prøveblokk, kan ikke brukes utenfor den.
  • Koden vil ikke gjenoppta tilbake til prøveblokken etter at fangstblokken er blitt utført.
  • Testing av unntakshåndtererkode i fangstblokk er viktig for å unngå å bryte applikasjonen.
  • Fangstblokk skal ikke brukes til oppryddingskode.
  • Fangstblokk uten parametere kan ikke brukes til å håndtere ikke-vanlige språksystemkompatible unntak (de som ikke er avledet fra System.Exception).
Denne definisjonen ble skrevet i sammenheng med C #
Hva er en fangstblokk? - definisjon fra techopedia