Gooi Expressie in een functie U kunt zetten wat je nodig hebt voor de try-blok in een functie, zoals hieronder afgebeeld: #include using namespace std; int teller = 8; int deler = 0; ongeldig errFn () {if {int answer = teller /noemer (noemer = 0!); cout} else {gooien 0; }} Int main () {probeer {errFn (); } Catch (int e) {cout} return 0; } Merk op dat in de catch-blok, deze keer heb ik niet een if-statement gebruikt.
Dit is omdat, wanneer de parameter van het construct vangst van hetzelfde type als het argument van de worp expressie dan de catch-construct uitzondering vangen (vangen wat er gegooid). Onder deze voorwaarde, is het niet verplicht om de identificatie van de parameter vangst te gebruiken in de catch-blok. Welnu, ook rekening mee dat het initialiseren van de teller en noemer nu buiten het hoofdblok (en het functieblok) en tot in de code, zodat ze kunnen worden gezien door een blok in de code.
We hebben geleerd dat de worp expressie kan worden in het blok try direct of in een functie genaamd door het blok try. Echter, de vangst blok blijft verbonden aan de try-blok, ongeacht of de worp uitdrukking is in het blok try direct of in functie genaamd door het blok try. Opmerking: In de praktijk programmering, de meeste vangst blokken slechts een foutmelding te sturen naar de gebruiker van het programma; ze niet echt de fout te corrigeren. Laten we hier een pauze nemen en ga verder in het volgende deel van de serie.
Chrys Om te komen tot een van de onderdelen van deze reeks, typt u de bijbehorende titel onder en mijn naam, Chrys, in het zoekvak van deze pagina en klik op Zoeken (gebruik menu indien beschikbaar): Basis van uitzonderingen in C ++ gooien Verschillende Operanden met C ++ Uitzonderingen nestelende try-catch blokken opgeven Uitzonderingen op functies in C ++ klassen en uitzonderingen in C ++