Du er den som bestemmer på objekttypen for parameteren, som er det samme som objekttypen av argumentet. Argumentet på kastet uttrykk kan være en bokstavelig eller en identifikator. Du er den som bestemmer om det. Du tar disse beslutningene, avhengig av hva som er galt og hvordan du ønsker å håndtere feilen. Catch-blokken bør umiddelbart følge try-blokken i å skrive, som i ovennevnte syntaks.
Den forrige koden omskrevet med prøve /fangst konstruere som følger: # include bruker namespace std; int main () {int teller = 8; int nevner = 2; try {if (nevner = 0) {int svar = teller /nevner; domstol} else {kaste 0; }} Catch (int e) {if (e == 0) cout} return 0; } Les gjennom koden ovenfor, hvis du ikke allerede har gjort det. I mange tilfeller har try-blokken equivalently en if-tilstand hvis blokken vil gjennomføre hvis tilstanden ikke oppdager feilen.
Hvis tilstanden oppdager feilen, vil if-blokken ikke utføre, og den andre delen vil kaste unntak; som er den andre delen vil kalle catch-blokken sende argumentet i kast uttrykk for det. Catch-blokken bruker argumentet for å vise en feilmelding til brukeren. Dette er hva som skjer i mange tilfeller. Feil er vanligvis ikke behandles i den virkelige betydningen av ordet; vanligvis en feilmelding sendes til brukeren, en if-konstruere i prøve blokk hindrer feil fra faktisk oppstår.
Etter denne henrettelsen, fortsetter programmet i sekvensen fra prøve /fangst konstruksjon; og det er ingen avsluttes programmet, selv om en feil ble detektert. Prøv koden ovenfor. I initialisering av nevneren, ovenfor, må du bytte til høyre operand med 0 og teste koden på nytt. Nå try-blokken kan faktisk ha en if /else konstruere med mange kast. Catch-blokken kan tilsvarende ha hvis /else konstruerer. Du er den som bestemmer på hvilken argument for å gi til innkast uttrykk. I catch-blokken, kan verdien av en bestemt argument avgjøre hva du kode som feilmelding.
Med henvisning til den ovenstående kode, kan en argument være 0, kan være en annen 5, en annen kan væ
Tilkobling…