? I enkelte datamaskin programmeringsspråk, som C + + og Java , et unntak - en forkortelse for " eksepsjonell hendelse " - er en hendelse som forstyrrer den normale gjennomføring av et program . " Kaster et unntak " refererer til å skape et objekt , kjent som et unntak objekt , og passerer det en programvarekomponent kjent som en runtime system som er designet for å støtte gjennomføringen av dataprogrammer . " Catching et unntak " refererer til bestått unntak til en blokk med kode , kjent som et unntak handler , som forsøker å komme seg fra unormal hendelse . Årsaker til Unntak
Generelt sett til programmeringsfeil , klient kode feil og ressurs Årsak unntak kastes . Vanligvis kan lite gjøres om programmeringsfeil , i alle fall ikke i form av avvikshåndtering , men hvis et program prøver å utføre noen ulovlig operasjon , så langt som application programming interface er opptatt av et unntak behandleren kan være i stand til å ta utvinning skritt . Tilsvarende, hvis systemet går tom for minne eller en nettverkstilkobling svikter under utførelse av programmet , kan et unntak handler forsøk igjen henrettelse etter en tid eller logge svikt og stanse henrettelsen .
Unntak Object
en metode er en blokk med kode som kan kalles ved navn på noe punkt i et dataprogram . Når en feil oppstår innenfor en metode , den koden som forårsaket feilen opphører henrettelsen umiddelbart, skaper et unntak objekt og sender den til den runtime system . Unntaket objektet inneholder den type feil forårsaket og tilstanden til programmet da feilen oppstod .
Kaster Unntak
Unntak kan defineres i en av programmeringsspråket er standard biblioteker eller definert av programmereren . I det første tilfellet unntak blir kastet automatisk av systemet , mens i sistnevnte tilfelle unntak er eksplisitt programmeres ved hjelp av et kast uttalelse ; syntaksen til innkast uttalelsen er rett og slett "kaste unntak - objekt ; " Hvis ingen fornuftig måte å håndtere en feil foreligger på det punktet i programmet hvor feilen oppstår , gjør det ofte fornuftig for et program for å bevisst kaste en feil på det punktet .
Catching unntak
etter et unntak er kastet , prøver runtime systemet for å finne en blokk med kode som kan håndtere unntaket - med andre ord , en passende unntak handler - i samtalen stabelen. Samtalen stack er en liste over de metoder som programmet kalles opp til det punktet hvor feilen oppsto i den rekkefølgen de ble kalt . Hvis runtime systemet finner en passende unntak handler, passerer kontrollen til den blokken med kode. Hvis ikke, runtime -systemet og programmet avsluttes . Hvis runtime systemet gjør finne et unntak handler, utfører den blokken med kode for å håndtere unntak og fortsetter å gjennomføre resten av programmet på vanlig måte .