Uitzondering Handling in C ++ - Deel 4 Inleiding Dit is deel 4 van mijn reeks, Uitzondering in C ++. U kunt een try-catch-constructie in een functie. U kunt gaan vervolgens in op de aard van de operanden dat het blok try in de functie kan gooien als uitzondering te beslissen. In dit deel van de serie, ik laten zien hoe je precies de aard van de uitzonderingen die een functie kan gooien. Opmerking: Als u de code niet kunt zien of als u denkt dat er iets ontbreekt (gebroken link afbeelding afwezig), neem dan contact met mij op [email protected].
Dat wil contact met mij op voor het geringste probleem dat je hebt over wat je aan het lezen bent. Try-Catch Construct in een functie Overal langs we hebben met try-catch constructies in de belangrijkste functie. U kunt nog steeds hebben het in een andere functie. De volgende code illustreert dit: #include using namespace std; ongeldig AFN (int aa, double bb) {probeer {if ((AA10)) gooien aa; if ((BB70)) gooien bb; //iets met aa en bb cout cout} catch (int EInt) {cout} catch (dubbel eDbl) {cout}} int main () {AFN (-5, 66,6); 0 terug; } De functie heeft twee argumenten: de eerste is een int en de tweede is een dubbele (float).
De int moet tussen 0 en 10 en de dubbele leugen tussen 50 en 70. De try-blok controleert deze liggen en gooit de bijbehorende parameter identifier dienovereenkomstig. Er is een catch-blok voor int en er is een catch-blok voor de dubbele. De nadruk ligt hier dat het blok try en de twee catch-blokken in een functie. Niet te verwarren tussen de situatie hier en wat we zagen in deel 1, waar een try-blok wel een functie die de worp verklaring had. Hier, het blok try en zijn worp statement (s) en de catch-blok (s) zijn in één functie.
Uitzonderingen opgeven om de bovenstaande functie De operanden voor de worp verklaringen in de bovenstaande functie zijn van het type int en dubbele. U kunt nauwkeurig dat elke operand voor een inworp statement in de try bock van de functie moet ofwel int of dubbel zijn. De volgende code illustreert dit: #include using namespace std; ongeldig AFN (int aa, double bb) worp (int, double) {probeer {if ((AA10)) gooien aa; if ((BB70)) gooien bb; //iets met aa en bb cout cout} catch (int EInt) {cout} catch (dubbel eDbl) {cout}} int main () {AFN (-5, 66,6); 0 terug; } Let op de uitdrukking, "gooien (int, double)" aan het einde van de aangifte (boven) van de functie.
De syntaxis voor het opgeven van uitzondering op een functie returnType fnName (parameters) worp (typen);