Hvis du ønsker at smide en streng, skal du bruge en pegepind til et konstant char (const char *) til parameteren af fangsten. Hver af de throw udsagn i try-blok ovenfor kan være i en if-blok; men husk, efter et indkast henrettelse, er udtalelserne under kast indtil udgangen af try blokken udføres ikke. Bemærk: Hvis en undtagelse (kastet operand) ikke er fanget, (måske fordi der ikke er passende catch-blok), kan din komplette C-program ++ opsige (stop funktion). Bemærk: Et andet navn for fangsten blok er handleren.
Bemærk også, at en undtagelse anses fanget (fra et indkast), når nogen fangst blok modtager det. Det er ligegyldigt, hvad fangsten blok gør med den kastet operand. Under denne betingelse dit program er sikkert i at opsige, medmindre din fangst blok har forkert kodning. Hvad en catch-blok bruger til at fange en undtagelse er den type af operand, der kastes (og ikke engang værdien af operand). Hvis du ønsker at overveje værdien af operand, så er du nødt til at bruge en if-sætning i den tilsvarende type catch-blok.
Kaste en Array Betragt følgende kode: # include bruge namespace std; int main () {int arrInt [] = {25, 20, 256}; prøv {smide arrInt; } Catch (int * const ePtr) {cout cout cout} tilbagevenden 0; } I hovedfunktionen et array initialiseres. Derefter har du en chance og en catch-blok. I try blokken, er array kastet. Parameteren af fangsten blok er en konstant pegepind (hvor markøren-adressen og ikke den spidse værdi er konstant). I catch-blok, er markøren bruges som en matrix; markøren peger på arrayet kastet, ikke et nyt array. Du har en chance blok og en catch-blok.
Den try blok har et kast erklæring. Sætningen kaster et array, som kan have flere elementer. Disse elementer (operander) er af samme type; så du har brug for en catch-blok for dem. Vi har set to måder at kaste flere operander. I den første måde er kun én kaste sætningen udført. Hvis smide udsagn er i, hvis udsagn, så den hvis if-betingelse er opfyldt, e