Sinceramente non ho mai usato la notazione scientifica in c... :master:
1.79769e+308 cmq ci sta solo in un double (a 8 byte), per gli altri è un infinity ....
Non vorrei fosse questo il tuo errore

PS: Più che catch credo overflow