Sto usando C++ in Visual Studio Express per generare alberi di espressioni casuali da utilizzare in un tipo di programma di algoritmo genetico.Come si usa try ... catch per rilevare errori in virgola mobile?
Poiché sono casuali, gli alberi spesso generano: divisione per zero, overflow, underflow e ritorno di "inf" e altre stringhe. Posso scrivere handler per gli archi, ma la letteratura mi ha lasciato perplesso riguardo agli altri. Se ho capito bene, devo prima impostare alcune bandiere?
Sarebbe gradito il consiglio e/o un puntatore ad alcune pubblicazioni. Modifica: i valori restituiti nella variabile doppia sono 1. # INF o -1. # IND. Ho sbagliato a chiamarli stringhe.
C++ non detta nessuna di queste operazioni dovrebbe generare un'eccezione. Conducono a comportamenti indefiniti. (Che potrebbe causare un arresto anomalo o generare un'eccezione o non fare nulla, o ...) – GManNickG
Ma C99 e POSIX specificano tali elementi e forniscono un'interfaccia di eccezione numerica. Tuttavia, non è chiaro se Peter abbia il controllo sui numeri reali, se sta ottenendo delle stringhe piuttosto che degli infiniti FP. – Potatoswatter