Gestion des exceptions en C ++ - Partie 4 Introduction Cela fait partie de ma série 4, Exception en C ++. Vous pouvez avoir une construction try-catch dans une fonction. Vous pouvez ensuite passer à décider du type d'opérandes que le bloc try dans la fonction peut jeter comme exception. Dans cette partie de la série, je vous montre comment de préciser le type d'exceptions que la fonction peut jeter. Remarque: Si vous ne pouvez pas voir le code ou si vous pensez que quelque chose manquait (lien brisé, l'image absente), contactez-moi au [email protected].
Qui est, me contacter pour le moindre problème que vous avez à propos de ce que vous lisez. Try-catch Construct dans une fonction Tout au long, nous avons eu des constructions try-catch dans la fonction principale. Vous pouvez toujours avoir dans une autre fonction. Le code suivant illustre cela: #include using namespace std; annuler APN (int aa, double bb) {try {if ((AA10)) throw aa; if ((BB70)) throw bb; //faire quelque chose avec AA et BB cout cout} catch (int EInt) {cout} catch (Double EDBL) {cout}} int main () {APN (-5, 66,6); return 0; } La fonction a deux arguments: le premier est un entier et le second est un double (float).
L'int devrait se situer entre 0 et 10 et le double devrait se situer entre 50 et 70. Les blocs de contrôles Essayez et jette l'identificateur de paramètre correspondant en conséquence. Il ya un bloc catch pour l'int et il ya un bloc catch pour le double. L'accent ici est que le bloc try et les deux blocs catch sont en fonction. Ne pas confondre entre la situation ici et ce que nous avons vu dans la partie 1, où un bloc try appelle une fonction qui a eu l'instruction throw. Ici, le bloc try et sa déclaration (s) de projection et le bloc (s) de capture sont dans une fonction.
Spécification d'exceptions à la fonction ci-dessus Les opérandes pour les déclarations de jeter dans la fonction ci-dessus sont de type int et double. Vous pouvez précise que l'un des opérandes pour une instruction throw dans le bock d'essai de la fonction doit être soit int ou double. Le code suivant illustre cela: #include using namespace std; annuler APN (int aa, double bb) throw (int, double) {try {if ((AA10)) throw aa; if ((BB70)) throw bb; //faire quelque chose avec AA et BB cout cout} catch (int EInt) {cout} catch (Double EDBL) {cout}} int main () {APN (-5, 66,6); return 0; } Notez l'expression, "jeter (int, double)" à la fin de la déclaration (en haut) de la fonction.
La syntaxe de spécifica
Construire votre première application C #