Comment puis-je utiliser try...catch de catch à virgule flottante erreurs?

Je suis à l'aide de c++ dans visual studio express pour générer des arbres d'expression pour une utilisation dans un algorithme génétique type de programme.

Parce qu'ils sont aléatoires, les arbres produisent souvent: division par zéro, dépassement de, dépassement de capacité ainsi que le retour "inf" et d'autres chaînes. Je peux écrire des gestionnaires d'événements pour les chaînes, mais la littérature m'a laissé perplexe les autres. Si je comprends bien, je dois mettre des drapeaux en premier?

Des conseils et/ou un pointeur vers la littérature serait appréciée.
Edit: les valeurs renvoyées dans la variable de type double sont 1.#INF ou -1.#IND. J'ai eu tort de les appeler des chaînes.

  • C++ n'est pas de dicter une quelconque de ces opérations doit lever une exception. Ils conduisent à un comportement indéfini. (Qui peut tomber en panne, ou lever une exception, ou ne rien faire, o ...)
  • Mais C99 et POSIX ne précise ces choses, et de fournir numérique à l'exception de l'interface. Cependant, il est un peu difficile de savoir si Pierre a le contrôle sur le réel numériques, s'il devient chaînes plutôt que de FP infinis.