estoy usando C++ en Visual Studio Express para generar árboles de expresión al azar para su uso en un tipo de algoritmo genético del programa.¿Cómo uso try ... catch para detectar los errores de coma flotante?
Como son aleatorios, los árboles suelen generar: dividir por cero, desbordamiento, desbordamiento, así como devolver "inf" y otras cadenas. Puedo escribir controladores para las cuerdas, pero la literatura me dejó desconcertado sobre los demás. Si lo entiendo correctamente, ¿tengo que establecer algunas banderas primero?
asesoramiento y/o un puntero a alguna literatura sería apreciada. Editar: los valores devueltos en la variable doble son 1. # INF o -1. # IND. Me equivoqué al llamarlos hilos.
C++ no dicta ninguna de esas operaciones debe lanzar una excepción. Conducen a un comportamiento indefinido. (Que puede bloquearse, lanzar una excepción o no hacer nada, o ...) – GManNickG
Pero C99 y POSIX sí especifican tales cosas y proporcionan una interfaz de excepción numérica. Sin embargo, no está claro si Peter tiene control sobre los números reales, si está obteniendo cadenas en lugar de infinitos FP. – Potatoswatter