*   >> Lese Utdanning Artikler >> science >> programming

Kaster flere operander med C ++ Exceptions

t, må du fjerne eventuelle kaste utsagnet over dobbelt kast uttalelse i prøve blokk. Hvis du vil at røye unntaket skal tre i kraft, må du fjerne de kaste uttalelser ovenfor røye kaste uttalelse i prøve blokk. Hvis du vil at pekeren skal røye unntak skal tre i kraft, må du fjerne de kaste påstandene over pekeren til char kaste uttalelse i prøve blokk. Det er andre ting å merke seg: Hvis du vil ha en flåte type, bruker dobbelt typen i kaste og fange konstruksjoner. Hvis du ønsker å kaste en streng, kan du bruke en peker til en konstant char (const char *) for parameteren av fangsten.

Hver av de kaste uttalelser i prøve blokk ovenfor kan være i en if-blokker; men husk, etter et innkast henrettelsen, er utsagnene nedenfor innkastet til slutten av forsøk blokken ikke utført. Merk: Hvis et unntak (kastet operand) ikke er fanget, (kanskje fordi det ikke er hensiktsmessig catch-blokken), kan det hende at komplett C ++ program avsluttes (stopp funksjon). Merk: Et annet navn for catch-blokken er behandleren. Merk også at et unntak blir betraktet som fanget (fra et innkast) når en catch-blokken mottar den. Det spiller ingen rolle hva catch-blokken gjør med kastet operand.

Under den tilstanden programmet er trygt fra terminering, med mindre din catch-blokken har feil koding. Hva en oppsamlingsblokk bruker for å fange et unntak er den type av operanden som er kastet (og ikke engang verdien av operanden). Hvis du ønsker å vurdere verdien av operanden, så må du bruke en if-setning i tilsvarende type catch-blokken. Kaster en Array Betrakt følgende kode: # include bruker namespace std; int main () {int arrInt [] = {25, 20, 256}; try {kaste arrInt; } Catch (int * const ePtr) {cout domstol domstol} return 0; } I den viktigste funksjonen en matrise er initialisert.

Du får deretter en prøve og en catch-blokken. I forsøk blokken, er matrisen kastet. Parameteren av fangsten blokken er en konstant peker (hvor pekeren-adresse og ikke den spisse verdien er konstant). I fangsten blokken, blir pekeren som brukes som en matrise; pekeren peker til matrisen kastet, ikke en ny array. Du har ett forsøk blokk og en catch-blokken. Try blokken har ett kast uttalelse. Setningen kaster en matrise, som kan ha flere elementer. Disse elementene (operandene) er av den samme type; så du trenger en catch-blokken for dem. Vi har sett to måter å kaste flere operander.

I den første måten, er bare ett kast uttalelse henrettet. Dersom kaste uttalelser er i hvis uttalelser, da den hvis If-betingelsen er o

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 Lese Utdanning Artikler,https://utdanning.nmjjxx.com All rights reserved.