D'abord, je trouve dans cplusplus.com la citation suivante:Catch avec plusieurs paramètres
Le format de capture est similaire à une fonction régulière qui a toujours au moins un paramètre.
Mais j'ai essayé ceci:
try
{
int kk3,k4;
kk3=3;
k4=2;
throw (kk3,"hello");
}
catch (int param)
{
cout << "int exception"<<param<<endl;
}
catch (int param,string s)
{
cout<<param<<s;
}
catch (char param)
{
cout << "char exception";
}
catch (...)
{
cout << "default exception";
}
Le compilateur ne se plaint pas de le lancer avec des accolades et de multiples arguments. Mais il se plaint en fait de la prise avec des paramètres multiples malgré ce que dit la référence. Je suis confus. Est-ce que try
et catch
permettent cette multiplicité ou non? Et si je voulais lancer une exception qui comprend plus d'une variable avec ou sans le même type.
Lire sur l'opérateur virgule. Vous ne lancez pas '(kk3," hello ")', vous lancez "" hello "'. – delnan
donc c'est seulement un argument dans les deux? –