Argumentet for kast udtryk skal være af samme type som parameter for fangsten konstruktion. Du er den, der træffer afgørelse om objekttypen af parameteren, som er det samme som objekttypen af argumentet. Argumentet for kast udtryk kan være en bogstavelig eller en identifikator. Du er den, der træffer beslutning om det. Du tager disse beslutninger afhængigt af arten af fejlen og hvordan du vil håndtere fejlen. Catch-blokken skal følge umiddelbart efter try-blokken i din skrive, som i ovenstående syntaks.
Den tidligere kode er omskrevet ved hjælp af try /catch konstruere som følger: #include hjælp namespace std; int main () {int tælleren = 8; int nævneren = 2; prøv {if (nævner = 0!) {int svar = tæller /nævner; cout} else {smide 0; }} Catch (int e) {if (e == 0) cout} tilbagevenden 0; } Læs gennem ovenstående kode, hvis du ikke allerede har gjort det. I mange tilfælde er try-blokken tilsvarende har en hvis-tilstand, hvis blok vil udføre, hvis betingelsen ikke registrerer fejlen.
Hvis tilstanden registrerer fejl, vil hvis-blokken ikke køre, og ellers en del vil kaste undtagelsen; det er den anden del vil kalde catch-blokken sender argument kast udtryk til det. Fangsten blok bruger argumentet til at vise en passende fejlmeddelelse til brugeren. Dette er, hvad der sker i mange tilfælde. Fejl er normalt ikke håndteres i den virkelige betydning af ordet; normalt en fejlmeddelelse sendes til brugeren, en if-konstruktion i try-blok forhindrer fejl fra rent faktisk opstår.
Efter denne henrettelse, fortsætter programmet i rækkefølge fra try /catch konstruktion; og der er ingen opsigelse af programmet, selvom blev registreret en fejl. Prøv ovenstående kode. I initialiseringen af nævneren, ovenfor, udskifte den højre operand med 0 og teste koden igen. Nu try-blokken kan faktisk have en hvis /andet konstruere med mange kast. Fangsten blok kan tilsvarende have, hvis /andet konstruerer. Du er den, der træffer beslutning om hvilke argumenter for