Bonjour,

Je teste actuellement une application sous Windows et j'ai un petit problème sur ce bout de code :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
try {
          std::cerr << "debut" << std::endl;
          std::cerr.flush();
          boost::filesystem3::copy( path, boost::filesystem3::path("temp_PDF") / path.filename()  );
          std::cerr << "fin" << std::endl;
          std::cerr.flush();
} catch ( boost::filesystem3::filesystem_error e )
{
          std::cerr << "except" << std::endl;
         std::cerr.flush();
} catch ( ... )
{
         std::cerr << "erreur 1" << std::endl;
         std::cerr.flush();
}
catch(...) étant censé, il me semble, pouvoir rattraper toutes les exceptions.
Ce que je n'arrive pas à m'expliquer, c'est que la ligne :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
boost::filesystem3::copy( path, boost::filesystem3::path("temp_PDF") / path.filename()  );
lance une exception qui n'est pas attrapée...

Voici ce que j'ai à l'écran :
debut
terminate after throwing an instance of 'boost::filesystem::filesystem_error'
what() : [...]

This application has requested the Runtime to terminate it in a unusual way.
Please contact the application's support team for more information.

Je ne sais pas si c'est lié mais je ne peux pas lancer mon application deux fois de suite dans la même console DOS ( l'application retourne directement sans rien faire).
J'ai aussi, quand l'exception n'est pas lancée, un system() qui n'exécute pas la commande passée en argument .

Est-ce que vous auriez une idée ?