Hva er unntakshåndtering?
Unntakshåndtering er en vanlig programmeringsspråkkonstruksjon som lar programmer identifisere og grasiøst håndtere feil som de kan støte på mens de kjører. Det fungerer ved å endre flyten til et program fra normal utførelse til et spesifikt sett av avbøtende handlinger når en feil blir funnet. En programmerer kan lage spesifikke sett med handlinger som påberopes når visse feil skjer. Å finne og håndtere unntak er ikke nødvendigvis en dødelig hendelse for et program; Noen ganger er det mulig for programgjennomføring å fortsette etter at unntakshåndtering oppstår.
Det er ofte mulig å programmere nøyaktig hvor unntakshåndtering er nødvendig mens du programmerer et bestemt stykke kode. I så fall har de fleste programmeringsspråk, inkludert Java og C ++, spesifikke nøkkelord og kontrollstrukturer som kan plasseres i kode for å håndtere feil. Disse strukturene kan håndtere en rekke feil, og med riktig vedlikehold er det ofte mulig for en programmerer å forutse flertallet av mulige feil for et bestemt stykke kode.
Unntakshåndtering kan også være nyttig for å analysere innspill. For eksempel, når man analyserer numerisk input, kan man med en gang fortelle om et stykke data er ikke-numerisk hvis riktig test- og unntaksbehandler er satt opp. Hvis et unntak oppstår, fanger behandleren det, som umiddelbart forteller programmet at inndata er ugyldig. Hva som skjer videre kommer an på hvordan resten av programmet er strukturert; den kan avslutte, eller den kan fortsette og bare ignorere den ugyldige inngangen.
Riktig unntakshåndtering garanterer ikke feilfri programgjennomføring. Det garanterer heller ikke at et program vil stoppe etter at en feil er funnet, og det garanterer ikke at et program vil fortsette. For å kunne håndtere feil på riktig måte, må en programmerer bruke unntakshåndtering i forbindelse med sunn fornuft og nøye oppmerksomhet på detaljer. Ideelt sett vil riktig feilhåndtering tillate et program å unngå de alvorligste typene feil, for eksempel ugyldig minnetilgang, samtidig som det gir informative meldinger om rettbare problemer, for eksempel ugyldige innspill eller uventede problemer med utførelsen av et program.
Unntakshåndtering fanger opp feil som kalles "run time" -feil; den garanterer ikke at koden er fri for feil eller syntaksfeil. Å ha feilhåndtering i kode garanterer ikke at koden er riktig. Det er mulig for feilhåndtering å savne feil i kode, og selv den beste feilfangsten er sjelden idiotsikker. Etter at feilsøking er fullført, muliggjør tilstedeværelsen av unntakshåndtering mye enklere kodevedlikehold og fremtidig feilsøking, om nødvendig.