*   >> läser Utbildning artiklar >> science >> programming

Kasta Flera Operander med C ++ Exceptions

de ovanför dubbel kasta uttalande i blocket try. Om du vill att undantaget röding ska träda i kraft, måste du ta bort kasta uttalanden ovanför char kasta uttalande i blocket try. Om du vill flytta pekaren röding undantag träda i kraft, måste du ta bort kasta uttalanden ovanför pekaren till char kasta uttalande i blocket try. Det finns andra saker att tänka på: Om du vill ha en flottör typ, använda dubbla typen i kasta och fånga konstruktioner. Om du vill kasta en sträng, använder en pekare till en konstant char (const char *) för parametern av fångsten.

Var och en av kast uttalanden i try-blocket ovan kan vara i en if-block; men kom ihåg, efter en avrättning kast, är uttalanden under kasta fram till slutet av try-blocket inte utförs. Obs: Om ett undantag (kastas operanden) inte fångas, (kanske eftersom det inte finns någon lämplig catch-block), kan din kompletta C ++ programmet avslutas (stop funktion). Obs: Ett annat namn för fångsten blocket är föraren. Tänk också på att ett undantag anses fångas (från ett kast) när någon fångst blocket får det. Det spelar ingen roll vad catch-blocket gör med kastat operanden.

Under detta villkor ditt program är säker från att säga, om inte din fångst blocket har fel kodning. Vad en catch-block använder för att fånga ett undantag är den typ av operanden som kastas (och inte ens värdet av operanden). Om du vill överväga värdet av operanden, då måste man använda en if-sats i motsvarande typ catch-block. Kasta en Array Tänk på följande kod: #include using namespace std; int main () {int arrInt [] = {25, 20, 256}; try {kasta arrInt; } Catch (int * const ePtr) {cout cout cout} return 0; } I huvudfunktionen en matris initieras. Du har då ett försök och en catch-block.

I try-blocket, är arrayen kastas. Parametern av fångstblocket är en konstant pekare (där pekaren-adressen och inte den spetsiga värdet är konstant). I fångsten blocket är pekaren används som en array; pekaren pekar på arrayen kastas, inte en ny array. Du har ett try-block och ett catch-block. Try-blocket har ett kast uttalande. Uttalandet kastar en array, vilket kan ha flera element. Dessa element (operander) är av samma typ; så du behöver en catch-block för dem. Vi har sett två sätt att kasta flera operander. På det första sättet är bara ett kast uttalande avrättades.

Om kasta uttalanden in om uttalanden, då den vars if-villkoret är uppfyllt är den som kastas. Om kasta uttalanden är inte if-satser, som i exemplet ovan, knappast skulle du ha det, då den första ka

Page   <<  [1] [2] [3] >>
Copyright © 2008 - 2016 läser Utbildning artiklar,https://utbildning.nmjjxx.com All rights reserved.